繁体   English   中英

iPhone:MPMusicPlayerController 停止 AVAudioPlayer

[英]iPhone: MPMusicPlayerController stops AVAudioPlayer

当用户锁定屏幕时,我正在使用 AVAudioPlayer 播放无声音乐,这样我的计时器就不会停止。 但是,当我使用[MPMusicPlayerController applicationMusicPlayer]播放 iPod 音乐时, AVAudioPlayer停止,没有收到任何回调。 有什么方法可以让我在不停止AVAudioPlayer播放的情况下开始播放[MPMusicPlayerController applicationMusicPlayer]

编辑:谢谢大家,这是我正在开发的应用程序:

它是一个闹钟应用,该应用允许用户在应用运行时锁定屏幕,当到了闹钟时间,应用可以播放 iPod 音乐唤醒用户。本地通知不能使用 iPod 音乐作为提示音,所以我必须在屏幕锁定时保持应用程序运行。

如果用户退出应用程序,它将使用本地通知作为警报,其声音仅限于捆绑文件。

我不能使用 UILocalNotification 作为计时器,因为当处于屏幕锁定状态(在 UIApplicationStatusInactive)时,应用程序无法接收系统生成的本地通知。

Apple 设计了他们的后台系统,以真正限制此类事情的发生。 从本质上讲,除非应用程序需要在后台运行,否则您无法保持应用程序在后台运行。 如果你解释你想要完成的事情,也许可以找到更好的解决方案,但作为一种好的做法,永远不要使用随机背景方法来做其他事情。 我假设您可能正在使用微弱的音乐作为在主屏幕上显示自定义内容的一种方式,这不是一个好主意。

如果您播放静音音频,您的应用将被拒绝。

同样根据苹果的文档https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103 ,通知不能有声音(soundName) 播放超过 30 秒。

因此,您将无法在商店中发布您的应用。

我自己想通了。 不是调用[MPMusicPlayerController +applicationMusicPlayer]停止 AVAudioPlayer,而是调用[MPMusicPlayerController -setShuffleMode:] ,我不知道为什么调用它会停止 AVAudioPlayer,但这就是问题所在。谢谢大家,我想我应该下次粘贴我的完整代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM