在使用 AVFoundation 的 - (void)startRecordingToOutputFileURLNSURL*)outputFileURL recordingDelegateid)delegate; 方法录制视频时,如果视频时长超过 12 秒,则输出文件中没有音轨。一切正常,如果视频持续时间少于 12 秒...
接收输出文件 URL 的委托(delegate)是:
- (void)captureOutputAVCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURLNSURL *)outputFileURL fromConnectionsNSArray *)connections errorNSError *)error
{
NSLog(@"AUDIO %@", [[AVAsset assetWithURLutputFileURL] tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0]); //App crashes here...
NSLog(@"VIDEO %@", [[AVAsset assetWithURLutputFileURL] tracksWithMediaType:AVMediaTypeVideo]);
}
我的应用因视频超过 12 秒而崩溃,并出现以下错误:*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array'
Best Answer-推荐答案 strong>
我的猜测是 AVCaptureMovieFileOutput 对 QuickTime 容器(.qt、.mov)的支持比对 mp4 的支持更好,尽管它是行业标准。例如,当将片段中的电影文件写入 .mp4 时,片段表(示例表)可能会发生某些事情。
因此,您可以将文件格式更改为 .mov 或将文件写入片段。看到这个问题:
ios-8-ipad-avcapturemoviefileoutput-drops-loses-never-gets-audio-track-after
关于ios - AVFoundation 没有长视频的音轨,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/27181842/
|