【问题标题】:implementing Queue Services in AV Audio Recorder using Swift使用 Swift 在 AV Audio Recorder 中实现队列服务
【发布时间】:2016-10-04 05:52:20
【问题描述】:

是否可以在AVRecorder 框架中创建类似于AudioQueue 服务的缓冲区概念。在我的应用程序中,我需要捕获音频缓冲区并通过 Internet 发送。服务器连接部分已经完成,但我想知道是否有办法在前台连续录制语音,并使用Swift在后台将这个音频缓冲区逐个缓冲区传递给服务器。 欢迎评论。

【问题讨论】:

    标签: ios swift core-audio avaudiorecorder


    【解决方案1】:

    AVAudioRecorder 记录到一个文件中,因此您不能轻易地使用它从您的应用程序中流式传输音频数据。另一方面,AVAudioEngine 可以在捕获音频缓冲区时给您回电:

    var engine = AVAudioEngine()
    
    func startCapturingBuffers() {
        let input = engine.inputNode!
        let bus = 0
    
        input.installTapOnBus(bus, bufferSize: 512, format: input.inputFormatForBus(bus)) { (buffer, time) -> Void in
            // buffer.floatChannelData contains audio data
        }
    
        try! engine.start()
    }
    

    【讨论】:

      猜你喜欢
      • 2019-01-03
      • 1970-01-01
      • 2011-08-04
      • 2015-05-12
      • 1970-01-01
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多