2011-10-02 77 views
0

(這是我的第一個問題,所以我希望我提供足夠的信息) 我正在開發一個應用程序,用定時器連續採樣麥克風輸入。 正常運行期間一切正常,如果我關閉與主頁按鈕的應用程序,然後返回到它,我可能會看到一些迭代與麥克風輸入-120.0,但然後它開始再次正確測量。麥克風輸入在通話中斷後得到-120.0 dB

但是,如果我撥打電話(而不是回答)話筒輸入始終測量-120.0。

有什麼想法?

回答

0

您需要使用音頻會話中斷處理程序設置音頻會話。然後,您可以在處理程序回調中的通話中斷後乾淨地停止並重新啓動音頻隊列或音頻單元(等等)。請參閱Apple的音頻會話文檔。

+0

謝謝,我得到的beginInterruption和endInterruptionWithFlags當我撥打電話,但我在裏面做什麼似乎沒有幫助,我試圖設置音頻會話活動到沒有中斷結束回到是時,我試圖設置我的再次輸入麥克風,並在黑暗中拍攝很多照片,但在應用程序恢復後,我繼續獲得-120dB(或者如果我做錯某事,則爲例外)... – uri

+0

當您停止錄製而沒有中斷但應用程序正在運行時會發生什麼? – hotpaw2

+0

該應用不斷地從話筒更新量度: 「 - (無效)levelTimerCallback:(的NSTimer *)定時器{\t \t \t [micInput updateMeters]; \t的NSLog(@」 平均電力0:%F」。 [micInput averagePowerForChannel:0]); \t \t * NSString的newText = [[NSString的頁頭] initWithFormat:@ 「%F」,[micInput averagePowerForChannel:0]]; ...」所以通常的數字意義,只中斷後,我總是得到-120.0 dB – uri