情况是这样的:我使用Audio Streamer库从远程服务器读取音频文件,但我发现只有当我这样做时才会出现问题:
- 启动应用程序
- 启动Podcast(音频流)
- 暂停
- 将应用程序置于后台(home键)
- 锁定手机
- 解锁它
- 重新激活应用
只有这样,我的流才会停止。我正在尝试达到暂停状态,但无法完成。
只有当我把应用程序放在后台时才会发生这种情况,如果不是,我锁定/解锁iPhone,一切都会恢复正常。如果我暂停流,然后把应用程序放到后台(Home键),然后应用程序从后台状态辞职,一切都好。
所以,这个问题只发生在以下两种情况下:应用程序发送到后台+锁定/解锁iphone
它是否在引擎盖下使用AVAudioPlayer ?如果是这样,你需要处理AVAudioPlayerDelegate协议:
- (void) audioPlayerBeginInterruption: (AVAudioPlayer *) player {
和
- (void) audioPlayerEndInterruption: (AVAudioPlayer *) player {
. .方法。基本上使用第一个存储AVAudioPlayer由于中断而停止的事实,第二个用于重新启动它。很麻烦,但很不幸,这是必须的。
这里有一个链接https://developer.apple.com/documentation/avfoundation/avaudioplayerdelegate