iOS视频到音频文件转换

iOS视频到音频文件转换,第1张

概述参见英文答案 > iPhone – Separating audio from a video file and saving it to a separate file                                    1个 我管理它使用NSUrlConnection下载YouTube视频并将其保存到设备.现在我想将此(我猜.mp4)文件转换为.mp3音频文件.有谁知道这个问 参见英文答案 > iPhone – Separating audio from a video file and saving it to a separate file                                    1个
我管理它使用NSUrlConnection下载YouTube视频并将其保存到设备.现在我想将此(我猜.mp4)文件转换为.mp3音频文件.有谁知道这个问题的解决方案?也许有办法只从视频中下载音频?这将节省大量时间.解决方法 首先,你不想转换任何东西,这很慢.而是想要从mp4文件中提取音频流.您可以通过创建仅包含原始文件的音轨的AVMutableComposition,然后使用AVAssetExportSession导出合成来完成此 *** 作.这是目前以m4a为中心的.如果要同时处理m4a和mp3输出,请检查音轨类型,确保设置正确的文件扩展名,并在导出会话中选择AVfileTypeMPEGLayer3或AVfileTypeAppleM4A.

NSURL*      dstURL = [NSURL fileURLWithPath:dstPath];    [[NSfileManager defaultManager] removeItemAtURL:dstURL error:nil];    AVMutableComposition*   newAudioAsset = [AVMutableComposition composition];    AVMutableCompositionTrack*  dstCompositionTrack;    dstCompositionTrack = [newAudioAsset addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_InvalID];    AVAsset*    srcAsset = [AVURLAsset URLAssetWithURL:srcURL options:nil];    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 = dstURL;    [exportSesh exportAsynchronouslyWithCompletionHandler:^{        AVAssetExportSessionStatus  status = exportSesh.status;        NSLog(@"exportAsynchronouslyWithCompletionHandler: %i\n",status);        if(AVAssetExportSessionStatusFailed == status) {            NSLog(@"FAILURE: %@\n",exportSesh.error);        } else if(AVAssetExportSessionStatusCompleted == status) {            NSLog(@"SUCCESS!\n");        }    }];
总结

以上是内存溢出为你收集整理的iOS视频到音频文件转换全部内容,希望文章能够帮你解决iOS视频到音频文件转换所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1054786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存