【问题标题】:How to save recorded audio iOS?如何保存录制的音频iOS?
【发布时间】:2016-09-11 07:00:15
【问题描述】:

我正在开发一个应用程序,其中正在录制音频并将其转录为文本。我正在使用 Nuance Developers 提供的 Speechkit。

我要添加的功能是:

  • 将录制的音频文件保存到永久内存中
  • 在表格视图中显示音频文件
  • 稍后加载保存的音频文件
  • 播放音频文件

如何将音频文件保存到持久存储?

这是代码:https://gist.github.com/buildFlash/48d143217b721823ff4c3c03a925ba55

【问题讨论】:

    标签: ios swift uitableview audio core-data


    【解决方案1】:

    当您使用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:不需要使用第三方库来录制音频,因为您可以通过AVAudioRecorderAVAudioPlayer 轻松管理它(用于从 url 播放音频)。 简而言之,如果您正在录制音频,那么您肯定也可以并行存储它!

    您可以参考Ravi shankar's tutorial also

    参考:this so post

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-12
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      • 2012-03-18
      • 1970-01-01
      • 2018-10-28
      • 1970-01-01
      相关资源
      最近更新 更多