2017-02-20 59 views
0

當我從其他應用程序啓動我的應用程序音樂時,停止播放。當我的應用程序啓動時,來自其他應用程序的音樂停止播放

我試過在didFinishLaunchingWithOptions中加入setCategory:AVAudioSessionCategoryAmbient,但音樂在FIRST發射時仍然停止。如果我開始播放音樂並通過主頁按鈕回到應用程序,音樂將繼續播放。第一次啓動問題有沒有解決辦法?

片段,我說:

// make sure music plays while sounds play. 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; 
[[AVAudioSession sharedInstance] setActive:YES error:nil]; 
+0

'AVAudioSessionCategoryAmbient'是適合使用的東西。我在我的一個應用程序中正好使用了該代碼,並且它按預期工作 - 已經播放來自其他應用程序的音頻不會在我的應用程序啓動時停止。 'setCategory'爲成功返回一個BOOL;你是否嘗試過檢查,或者看到錯誤是否在'error'參數中返回? – zpasternack

+0

@zpasternack好主意,我會試着看看能否從中得到一些有意義的東西。 – Warpzit

回答

0

試試這個:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient withOptions:0 error:nil]; 

或者這上面,如果不工作:

[[AVAudioSession sharedInstance] setActive:NO error:nil]; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; 
[[AVAudioSession sharedInstance] setActive:YES error:nil]; 

編輯:

如果以上都不適合你,那你就是如果這適用於您的用例,那麼可能會嘗試設置另一個類別,您認爲它與AVAudioSessionCategoryOptionMixWithOthers一致。

確定此會話中的音頻是否與其他音頻應用中的 活動會話中的音頻混合在一起。

+0

沒有工作。我想知道它是否可以與用於播放某些聲音的靜態庫相關。 – Warpzit

+0

@Warpzit嗯......不知道,如果你設置了活動:上面提到應該工作,否則你可以執行更改,而無需使用當前選項訪問音頻並阻止其他音樂播放。您應該至少嘗試禁用其他框架來確保。但是,檢查更新的答案,如果這符合您的需求,併爲您解決也許? – 2017-02-21 22:54:26

相關問題