iOS - AudioUnit 应用程序的 AudioSession 类别
我正在开发 iOS 的流媒体音频播放器应用程序。目前我正在尝试使用 AudioQueue 和 AudioUnit 进行播放。
两者在正常情况下都可以正常工作。但当应用程序进入睡眠模式时,我遇到了 AudioUnit 版本的问题。
当应用程序进入睡眠模式时,应用程序的 AudioUnit 版本会停止播放。其中 AudioQueue 版本的应用程序在睡眠模式下播放时没有任何问题。
我为这两种情况设置了“kAudioSessionCategory_MediaPlayback”会话类别。我认为这个会话类别即使在睡眠模式下也应该继续播放。
我不确定我在这里缺少什么。
我想向我的应用程序添加平移/效果功能,所以我正在尝试使用 AudioUnit。
非常感谢任何帮助。
I am working on streaming audio player application for iOS. currently i am experimenting with AudioQueue and AudioUnit for playback.
Both works fine in the normal condition. But I am facing an issue with AudioUnit version of app when it goes to sleep mode.
AudioUnit version of the application stopped the playback when application goes to sleep mode. Where as AudioQueue version of the application playing with out any issue during the sleep mode.
I have set "kAudioSessionCategory_MediaPlayback" session category for both cases. I assume this session category should continue the playback even in sleep mode.
I am not sure what i am missing here.
I want to add pan/effects features to my application, so i am trying with AudioUnit.
Any help is highly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最后我让 AudioUnit 实现正常工作了。我已将 AudioSession 类别设置为“kAudioSessionCategory_MediaPlayback”。由于我使用 AudioUnit 进行播放,因此我需要将“kAudioUnitProperty_MaximumFramesPerSlice”属性设置为 4096。这样即使设备处于睡眠模式,它也会继续播放。
Finally i have got the AudioUnit Implementation working. I have set the AudioSession category as "kAudioSessionCategory_MediaPlayback". As i am using AudioUnit for playback, i need to set "kAudioUnitProperty_MaximumFramesPerSlice" property to 4096. so it will continue the playback even in the device is in the sleep mode.
根据 Apple 关于音频会话的文档,您可能应该使用
kAudioSessionCategory_SoloAmbientSound
来代替。这将停止来自其他应用程序的所有声音,但这就是您在设备锁定时能够继续播放所付出的代价。According to Apple's documentation on audio sessions, you should probably use
kAudioSessionCategory_SoloAmbientSound
instead. This will stop all sounds from other applications, but that's the price you pay for being able to keep playing when the device is locked.