如何保存录制的音频iOS?
我正在开发一个应用程序,其中录制音频并将其转录为文本。 我正在使用Nuance Developers提供的Speechkit。
我要添加的function是:
- 将录制的音频文件保存到永久内存中
- 在表格视图中显示音频文件
- 稍后加载保存的音频文件
- 播放音频文件
如何将音频文件保存到持久存储?
这是代码: https : //gist.github.com/buildFlash/48d143217b721823ff4c3c03a925ba55
使用AVAudioRecorder
录制音频时,必须将路径作为存储音频的位置的url
传递。 所以默认它在那个位置存储音频。
例如,
var audioSession:AVAudioSession = AVAudioSession.sharedInstance() audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord, error: nil) audioSession.setActive(true, error: nil) var documents: AnyObject = NSSearchPathForDirectoriesInDomains( NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] var str = documents.stringByAppendingPathComponent("myRecording1.caf") var url = NSURL.fileURLWithPath(str as String) var recordSettings = [AVFormatIDKey:kAudioFormatAppleIMA4, AVSampleRateKey:44100.0, AVNumberOfChannelsKey:2,AVEncoderBitRateKey:12800, AVLinearPCMBitDepthKey:16, AVEncoderAudioQualityKey:AVAudioQuality.Max.rawValue ] println("url : \(url)") var error: NSError? audioRecorder = AVAudioRecorder(URL:url, settings: recordSettings, error: &error) if let e = error { println(e.localizedDescription) } else { audioRecorder.record() }
因此,这里的url
是存储音频的位置,您可以使用相同的url
播放该音频。 如果要将该文件发送到服务器,可以将该文件从URL或路径中作为data
获取。
因此,如果您正在使用第三方库,那么请检查它存储音频的位置,您可以从那里获取它,或者它应该有一些方法来获取它的位置。
PS:没有必要使用第三方库来录制音频,因为您可以通过AVAudioRecorder
和AVAudioPlayer
AVAudioRecorder
管理它(用于播放来自url的音频)。 如果您正在录制音频,那么您肯定会并行存储音频!
你也可以参考Ravi shankar的教程
参考: 这样的post