收到来电时,录制的视频已损坏,AVFoundation方法会出错
-
13-11-2019 - |
题
我有一个视频录制应用程序。一切正常。录音时接到电话的情况除外。
当接到电话时,我尝试结束录音,但是,我的任何写入AVAssetWriter的电话都被拒绝。[医]音频输入 appendSampleBuffer
返回no, appendPixelBuffer
出错了。我试着打电话给avAssetWriter finishWriting
但这又回来了 AVAssetWriterStatusFailed
.
没有任何工作,我的视频被损坏,因为似乎我通常的方法来完成一个录音会话不被允许,一旦收到一个电话。
当接到电话时,我可以听什么来正确地结束录音会话?我现在唯一能做的就是听 applicationWillResignActive
并停止一切,但这会阻止在用户收到短信等时进行记录。这将使我的应用程序的工作方式不同于本机相机应用程序。
解决方案
看看 核心电话 框架,特别是 CTCallCenter
类。您可以注册 callEventHandler
这是一个接受 CTCall
对象。此对象描述调用状态。当呼叫对象指示它是一个传入呼叫时,尝试结束录音.
不隶属于 StackOverflow