首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVAudioPlayerNode -获得玩家状态?

AVAudioPlayerNode -获得玩家状态?
EN

Stack Overflow用户
提问于 2015-01-04 09:57:21
回答 1查看 1.3K关注 0票数 0

在iOS项目中,我将AVAudioPlayerNode与AVAudioEngine和AVAudioUnitTimePitch结合使用。一切都很正常。但是,我想知道是否有一种方法可以确定当前播放器的状态(例如,isPlaying、isPaused),或者至少是回放位置。

虽然AVAudioPlayer至少允许您获得currentTime-parameter,但我还不知道如何使用AVAudioPlayerNode获取这些信息。我试着使用用nodeTimeForPlayerTime描述的playerTimeForNodeTime快捷的文件方法,但没有取得任何进展。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-17 01:56:58

由于AVAudioPlayerNode是作为音频流设计的,因此它不一定要跟踪特定文件中的时间。然而,AVAudioPlayerNode确实保留了播放所有音频的时间。这个计时器不会用每个文件重置,为了更改它,您必须显式地告诉它要从哪里开始计数。

因此,要找到玩家正在玩的当前时间,您必须执行以下操作:

代码语言:javascript
复制
player.lastRenderTime.sampleTime / file.fileFormat.sampleRate

现在,为了让计时器在每个文件之后重置,您必须显式地重置播放机当前的时间。为此,请使用player.playAtTime:函数。

如果您想要一个例子,请查看这里的一个例子:https://github.com/danielmj/AEAudioPlayer

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27764352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档