【发布时间】:2015-05-19 17:30:43
【问题描述】:
这是我在 iOS8 Swift 应用中录制音频的代码:
var fileName = "/SFRecording-" + String(recordingSequence) + ".caf"
var str = storageLocation + fileName
var url = NSURL.fileURLWithPath(str as String)
audioSession.setCategory(AVAudioSessionCategoryRecord, error: nil)
audioSession.setActive(true, error: nil)
var recordSettings = [
AVFormatIDKey:kAudioFormatAppleIMA4,
AVSampleRateKey:44100.0,
AVNumberOfChannelsKey:2,
AVEncoderBitRateKey:12800,
AVLinearPCMBitDepthKey:16,
AVEncoderAudioQualityKey:AVAudioQuality.Max.rawValue
]
var error: NSError?
realRecorder = AVAudioRecorder(URL:url, settings: recordSettings as [NSObject : AnyObject], error: &error)
它工作正常,但生成的CAF 文件在 Windows 系统上无用。我想以更熟悉的格式录制,例如 MP3,但由于许可问题,您无法在 iOS 中录制。
现在我想以AAC 格式录制,我已在上面的代码中将文件扩展名从.CAF 切换为.AAC,并将AVFormatIDKey:kAudioFormatAppleIMA4 中的值切换为kAudioFormatMPEG4AAC,但这些设置无法录制任何事物。我是否也想更改一些其他设置以使 AAC 录制工作?
请记住,我的目标是以易于在 mac/win/浏览器上播放的格式录制
【问题讨论】:
-
你试过用扩展名 .m4a 保存它吗?
-
@Leonardo Savio Dabus:不起作用:
OSStatus error 1685348671.
标签: ios xcode swift audio-recording