先说结论 , 加一行代码
1 | _captureMovieFileOutput.movieFragmentInterval = kCMTimeInvalid |
看看movieFragmentInterval
属性的说明
1 | /*! |
用拙略的英语水平翻译一下就是,movieFragmentInterval
这东西代表一个时间间隔,每隔x秒就会把视频片段写入内存,这是为了保证当意外中断视频文件写入的时候还可以有一个可以播放的视频片段,默认是十秒,如果你给他赋了这个值kCMTimeInvalid
,就表示要一直写入直到调用某个方法结束视频录制,之后他就会给视频文件加上文件尾部,所以如果没有设置这个值的话,十秒到二十秒的视频中间就会出现没声音的状况.