2011-10-02 81 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