đây mã mà sẽ giúp bạn xuất khẩu một mp4 từ thư viện nhạc
func displayMediaPicker() {
let mediaPicker = MPMediaPickerController.init(mediaTypes: .anyAudio)
mediaPicker.delegate = self
mediaPicker.allowsPickingMultipleItems = false
mediaPicker.loadView();
self.present(mediaPicker, animated: true, completion: nil)
}
func mediaPicker(_ mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {
//
self.dismiss(animated:true)
if mediaItemCollection.count > 0 {
let mediaItem = mediaItemCollection.items[0]
let assetURL = mediaItem.value(forProperty: MPMediaItemPropertyAssetURL)
let mediaAsset = AVURLAsset(url: assetURL as! URL, options: nil)
let exporter = AVAssetExportSession.init(asset: mediaAsset, presetName: AVAssetExportPresetMediumQuality)
exporter?.outputFileType = AVFileType.mp4
let mediaPathToSave = //assign destination path here
let exportURL = URL(fileURLWithPath: mediaPathToSave)
exporter?.outputURL = exportURL
// if incase you need first 30 seconds
let startTime = CMTimeMake(0, 1)
let stopTime = CMTimeMake(30, 1)
let exportTimeRange = CMTimeRangeFromTimeToTime(startTime, stopTime)
exporter?.timeRange = exportTimeRange
exporter?.exportAsynchronously(completionHandler: {
//
let status = exporter?.status
if status == AVAssetExportSessionStatus.completed {
print("AVAssetExportSessionStatus successfull")
//do further code for exported file here
}
})
}
}
Nguồn
2017-11-16 10:41:33
Câu trả lời này là không đúng. Nếu bạn đang xuất một tập tin MP3 từ thư viện, nó đã được mã hóa, bạn không cần phải mã hóa sang mp3 nữa. Tôi đã sử dụng QuickTimeMovie làm loại tệp để xuất thành công mp3 từ thư viện sang hệ thống tệp. – Dermot
@Dermot bạn có thể vui lòng chia sẻ mã không. . Tôi đang làm tương tự trong Swift nhưng không may mắn xin vui lòng giúp –
tháng 11 năm 1999: LAME chuyển từ giấy phép GPL sang giấy phép LGPL, cho phép sử dụng nó với các ứng dụng nguồn đóng. – Dalmazio