1

ビューコントローラでオーディオを録音し、ユーザーが2番目のビューコントローラで再生するためのボタンを表示しています。

問題は、2番目のビューでこのコードを使用しているため、サイレントモードでもオーディオを再生できることです。

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

しかし、2番目のオーディオを録音するために戻ると、2番目の画面で再生されません。

これに関するリードはありますか?これらの設定を元の設定に再度変更する必要があるようです。

4

1 に答える 1

2

これを試して:

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

少し前に同様の問題がありましたが、AVAudioSession を使用していました。問題は同じでしたが、1つ見つけました。それはあなたにとって役立つかもしれません:

レコードは正常に機能していましたが、何かを再生した後、まったく機能しなくなりました。問題は、AVAudioSessionを呼び出して再生カテゴリにリセットしたことでした

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

その後、録音が機能しなくなります。それを修正するには 2 つの方法があります。オーディオ セッションの defire 録音を にセットアップし、AVAudioSessionCategoryRecord再生する前に でセットアップするAVAudioSessionCategoryPlaybackか、 でセットアップしAVAudioSessionCategoryPlayAndRecordます。

私がした後

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

すべてが正常に機能し始めました。

于 2013-02-19T23:56:23.920 に答える