【发布时间】:2017-08-31 06:49:35
【问题描述】:
我正在使用带有AVAudioRecorder 的设备麦克风录制音频,它返回.caf 格式的文件,该文件只能在Apple 设备上播放,而不能在Android 设备上播放。由于 Apple 不支持 .mp3 文件,所以我想在上传到服务器之前将其转换为 .mp4 格式。
.mp4 是否仅适用于音频?我可以用AVAssetExportSession 转换它吗?
以下是录音机代码:
func setupAudioRecorder ()
{
let fileMgr = FileManager.default
let dirPaths = fileMgr.urls(for:.documentDirectory,
in:.userDomainMask)
let soundFileURL = dirPaths[0].appendingPathComponent("myaudio.caf")
let recordSettings =
[AVEncoderAudioQualityKey: AVAudioQuality.min.rawValue,
AVEncoderBitRateKey: 16,
AVNumberOfChannelsKey: 2,
AVSampleRateKey: 44100.0] as [String : Any]
do {
try audioSession.setCategory(
AVAudioSessionCategoryPlayAndRecord)
} catch let error as NSError {
print("audioSession error: \(error.localizedDescription)")
}
do {
try audioRecorder = AVAudioRecorder(url: soundFileURL,
settings: recordSettings as [String : AnyObject])
audioRecorder?.prepareToRecord()
} catch let error as NSError {
print("audioSession error: \(error.localizedDescription)")
}
}
【问题讨论】:
标签: ios swift xcode avaudiorecorder avassetexportsession