2012-03-22 28 views
0

オーディオシステムがiPhoneで排他的に使用されているかどうかをプログラムで確認する方法はありますか? FaceTimeや携帯電話の通話中にアプリがオーディオシステムを使用しようとすると、オーディオを起動しようとするとエラーが発生します。オーディオを起動しようとする前にオーディオシステムが独占的に使用されているかどうか確認したいと思います。オーディオシステムが使用中であることを確認してください

私がやっているアプリはVOIPタイプのアプリです。着信があるときは、電話に応答できるようになる前にオーディオシステムが使用可能かどうかを確認したいと思います。私はCTCallCenterを試してみましたが、それは携帯電話のために働いていますが、FaceTimeの呼び出しはそこに表示されません。

おかげで、 コンウェイ

答えて

0

は、あなたはすぐに着信が検出されたとして、オーディオ入力を初期化し、ユーザがコールを受け付けたら、キューを開始できませんでしたか?

+0

これはうまくいくものの、私たちのオーディオコードの再作成を意味します。今のところ、私はただ電話を受け入れるようにしています。オーディオの初期化に失敗した場合は、エラーメッセージで電話を切っていきます。 –

-1

オーディオセッションのドキュメントで割り込み処理代理人を見てください。

https://developer.apple.com/Library/ios/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/Introduction/Introduction.html

あなたがbeginInterruptionとendInterruption法の間にある場合は、あなたの音声通話の応答を防ぐために、あなたのアプリにフラグを設定することができます。

+0

beginInterruptionとendInterruptionにはいくつかの問題があります。 –

+0

最初の問題:それらはペアで来ないので、最後にbeginInterruptionを受信しましたが、受信しておらず、endInterruptionも受信しませんでした。私のアプリはそれが絶えず中断していると思っています。第2の問題:中断されないオーディオ(携帯電話とフェイスタイムコール)と中断可能なオーディオ(音楽プレーヤ)との間で割り込みメカニズムが混乱することはありません。 –

+0

ご迷惑をおかけして申し訳ありません。あなたが素晴らしい解決策を見つけたら、それを掲示してください。私はそれについて聞くことに非常に興味があります。 – learnvst