从数据字节开始音频

时间:2018-10-02 17:41:40

标签: swift avaudiorecorder avaudioengine avaudioplayernode

我正在通过套接字连接从服务器接收字节格式的音频。

并且我正在尝试将其转换为PCMFormat以进行播放。

func playAudio(data: NSData){

    let buffer = dataToPCMBuffer(format: format16KHzMono!, data: data)
    let player = AVAudioPlayerNode()
    self.audioEngine?.attach(audioPlayerNode)   
    let mixer = self.audioEngine?.mainMixerNode
    self.audioEngine?.connect(player, to: mixer!, format: format16KHzMono)

    self.playerQueue.async {
        self.audioPlayerNode.scheduleBuffer(buffer!) {
            print("stopping")
            if self.audioEngine!.isRunning  {
                self.audioPlayerNode.play()
            }else {
              try? self.audioEngine?.start()
        }
    }
    self.audioEngine?.prepare()
    try! self.audioEngine?.start()
   }

}

但是我在下面一行中面临崩溃。

self.audioEngine?.connect(player, to: mixer!, format: format16KHzMono)

希望,这是从字节流传输音频的正确方法。

任何帮助将不胜感激。

0 个答案:

没有答案