簡體   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