2009-08-07 18 views
4

我需要使用AVAudioPlayer的MPMoviePlayerController同時即當後臺循環播放是可以播放電影。
當電影開始播放時,我的bg音樂循環停止工作,所以我試圖停止bg音樂循環並啓動電影,當電影停止時,再次開始播放bg循環,但這也不起作用。使用AVAudioPlayer和的MPMoviePlayerController同時

+0

這應該使用AudioQueue來完成,如果是的話如何?我是iPhone新手,對於我來說理解AudioQueue文檔確實很困難。 – 2009-08-10 11:16:03

+0

好吧我的錯誤停止並播放AVAudioPlayer在啓動和停止電影之前無法正常工作,但是如果可以的話,真的不可能同時使用AVAudioPlayer和MPMoviePlayerController爲什麼? – 2009-08-25 13:01:29

回答

1

當前的iPhone SDK(2.x和3.x)中存在一個限制,它不允許在MPMoviePlayerController API中播放電影時播放任何背景音頻。不幸的是,目前在iPhone SDK中不可能做到這一點。

我會建議logging an enhancement request蘋果公司在未來的SDK版本中提供這個功能。

2

實際上它可以從3.x開始實現。我曾經在我的一個應用程序中做過這件事,它與任何背景或任何其他新的iOS功能無關。你只需要正確配置音頻會話。如果您確定您的音頻播放器以及視頻播放器都在使用環境音頻會話,則可以。

在開始AVAudioPlayer播放之前,請將音頻會話的類別設置爲AVAudioSessionCategoryAmbient。這是系統廣泛的通用音頻會話。這樣可以播放其他聲音,例如來自iPod應用程序的聲音。

如果您使用iOS 3.2或更高版本中的MPMoviePlayerController,請確保將useApplicationAudioSession設置爲NO。這確保了其他聲音一起播放。這是iOS早期版本的默認設置。

+1

嘿,它工作,謝謝。如果有人想知道如何設置音頻會話類別,請使用此選項。 '[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];' – NSRover 2012-01-17 07:00:13

相關問題