0

Apple のサンプル アプリ SpeakHere を試していて、イヤー スピーカーではなくスピーカーフォン スピーカーで聞きたいと思っていました。

次のコードを使用して、スピーカーフォン スピーカーをオンにすることができました。

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

しかし、その後アプリは記録しなくなります。フリーズします。このコードは何の役にも立たない:

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

少年、トップコードでスピーカーをオンに切り替えることができれば、他のコードでスピーカーをオフに切り替えることができるはずです. 秘密は何ですか?

4

1 に答える 1

0

Audio Queue の実行中にこれを実行しようとしていますか? または、以前にオーディオ キューを停止し、オーディオ セッションを変更した後に再起動しましたか?

エラーが報告されているかどうかを確認するために、すべてのオーディオ セッションおよびオーディオ キュー呼び出しからのエラー戻り値を確認しましたか? もしそうなら、エラー値は何ですか?

于 2010-08-28T06:22:34.087 に答える