美文网首页
提取AVAsset视频中的音频内容

提取AVAsset视频中的音频内容

作者: Zszen | 来源:发表于2019-02-05 18:42 被阅读23次

转换代码

-(void)onVideoSave_real:(NSURL*)fileUrl{
    self.navigationItem.rightBarButtonItem.enabled=false;
    [loadingbar showMe];
    [player pause];
    //
    AVMutableComposition*   newAudioAsset = [AVMutableComposition composition];
    AVMutableCompositionTrack*  dstCompositionTrack;
    dstCompositionTrack = [newAudioAsset addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
    AVAsset*    srcAsset = self.asset;
    AVAssetTrack*   srcTrack = [[srcAsset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0];
    CMTimeRange timeRange = srcTrack.timeRange;
    NSError*    error;
    if(NO == [dstCompositionTrack insertTimeRange:timeRange ofTrack:srcTrack atTime:kCMTimeZero error:&error]) {
        NSLog(@"track insert failed: %@\n", error);
        return;
    }
    AVAssetExportSession*   exportSesh = [[AVAssetExportSession alloc] initWithAsset:newAudioAsset presetName:AVAssetExportPresetPassthrough];
    exportSesh.outputFileType = AVFileTypeAppleM4A;
    exportSesh.outputURL = fileUrl;
    [exportSesh exportAsynchronouslyWithCompletionHandler:^{
        AVAssetExportSessionStatus  status = exportSesh.status;
        if(AVAssetExportSessionStatusFailed == status) {
            //失败处理
        } else if(AVAssetExportSessionStatusCompleted == status) {
            //成功处理
        }
    }];
}

相关文章

网友评论

      本文标题:提取AVAsset视频中的音频内容

      本文链接:https://www.haomeiwen.com/subject/xjpvsqtx.html