3

我有一个视频录制应用程序。一切正常。除非在录音时接到电话。

当接到电话时,我尝试结束录制,但是,我写给 AVAssetWriter 的任何调用都被拒绝。audioWriterInputappendSampleBuffer返回不,appendPixelBuffer错误输出。我尝试调用 avAssetWriterfinishWriting但返回AVAssetWriterStatusFailed.

没有任何效果,我的视频已损坏,因为一旦接到电话,似乎不允许我完成录制会话的常用方法。

接到电话时,我可以听什么来正确结束录音会话?我目前唯一能做的就是监听applicationWillResignActive并停止一切,但这会阻止在用户收到短信等时进行录制,这将使我的应用程序与原生相机应用程序的工作方式不同。

4

1 回答 1

3

看看Core Telephony框架,特别是CTCallCenter类。您可以注册一个callEventHandler接受CTCall对象的块。此对象描述呼叫状态。当呼叫对象指示它是来电时,尝试结束录音。

于 2011-05-14T00:42:16.253 回答