我有一個視頻捕捉應用程序,我希望能夠在錄製音頻+視頻時播放背景音樂。AVAudioSession setCategory不工作
如果我將AVAudioSession
類別設置爲PlayAndRecord
,didFinishLaunchingWithOptions
,我可以完成此操作。然而,每當相機的視圖進入或退出前景時,這會導致音頻出現故障,並且其顯然不可能擺脫:https://forums.developer.apple.com/message/74778#74778
如果我剛開始/停止時發生故障,我可以忍受這個故障錄製視頻,但這意味着當按下按鈕時,我需要將AVAudioSession
類別從Ambient
更改爲PlayAndRecord
,這似乎也是不可能的。
如何更改AVAudioSession
類別?
我嘗試這樣做:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionMixWithOthers
error:nil];
但背景音樂停止錄製開始時。
下面這篇文章:AVCaptureSession and background audio iOS 7
我嘗試停用會話,然後設置類別:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&error];
[session setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionMixWithOthers | AVAudioSessionCategoryOptionDefaultToSpeaker
error:nil];
[session setActive:YES error:&error];
我也嘗試監聽AVAudioSessionRouteChangeNotification
和停用在會議結束後設置在該處理程序的類別。但是當應用程序開始錄製時,背景音樂始終會關閉。
爲什麼我不能更改AVAudioSession
類別?
簡而言之,應用程序錄制不工作,而音樂......和你想要一起工作嗎? –
是的,但它需要在環境模式下啓動 – Cbas