2013-02-19 62 views
1

我在視圖控制器中錄製音頻並顯示一個按鈕供用戶在第二個視圖控制器上播放。在靜音模式下錄製和播放音頻只需執行一次

的事情是,我使用的第二視圖,以便音頻甚至可以在靜音模式下可播放此代碼:

UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; 
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, 
         sizeof(sessionCategory), &sessionCategory); 

但是,當我回去錄製第二音頻,它不玩在第二個屏幕上。

對此的任何線索?好像我必須將這些設置再次更改爲原件。

回答

2

試試這個:

UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord; 
    AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, 
          sizeof(sessionCategory), &sessionCategory); 

前一段時間我有類似的問題,但我是用AVAudioSession。問題是一樣的,然後我發現一件事,它可能是有用的你:

記錄工作正常,然後我播放的東西后,它停止工作。問題是我重新打了AVAudioSession播放類別通過呼籲

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 

之後,記錄停止工作。有兩種方法來修復它,設置音頻會話defire錄製到AVAudioSessionCategoryRecord,並在播放之前AVAudioSessionCategoryPlayback或設置AVAudioSessionCategoryPlayAndRecord

我做了後

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil]; 

一切開始正常工作。