func extractAudioFromVideo(videoUrl:NSURL, audioPath:String){
//2
var asset = AVURLAsset(URL: videoUrl, options: nil)
asset.loadValuesAsynchronouslyForKeys(NSArray(object: "tracks") as [AnyObject], completionHandler: {() -> Void in
var audioTrack = asset.tracksWithMediaType(AVMediaTypeAudio)[0] as! AVAssetTrack
var audioComposition = AVMutableComposition()
var audioCompositionTrack:AVMutableCompositionTrack!
audioCompositionTrack = audioComposition.addMutableTrackWithMediaType(AVMediaTypeAudio, preferredTrackID: CMPersistentTrackID())
audioCompositionTrack.insertTimeRange(audioTrack.timeRange, ofTrack: audioTrack, atTime: CMTimeMake(0, 1), error: nil)
var exportSession = AVAssetExportSession(asset: audioComposition, presetName: AVAssetExportPresetAppleM4A)
var toFileUrl = NSURL(fileURLWithPath: audioPath)
exportSession.outputURL = toFileUrl
exportSession.outputFileType = "com.apple.m4a-audio"
exportSession.exportAsynchronouslyWithCompletionHandler({() -> Void in
if exportSession.status == AVAssetExportSessionStatus.Completed {
println("Succes")
}else{
println("not working")
}
})
})
}
Я использую выше код, чтобы получить аудио из видео, но печать «не работает»Извлечение аудио из видео AVFoundation
мой аудиотракта является:
var outStr = NSBundle.mainBundle().pathForResource("cheeseburger", ofType: "m4a")
Пожалуйста, помогите мне с этим
Благодарности
Не работает для меня, получает сообщение об ошибке –
@MaksimKniazev Что сказать ошибка? – CodeBender
Операция не может быть завершена. (доменная ошибка 0.), однако, он делает это только для некоторых файлов, иначе он работает. –