我如何播放 [UInt8] 音频流?

How i can play [UInt8] audio stream?

我通过 TCP / IP 连接到服务器并接收 [UInt8]。我知道那是音频。如何在 iPhone?

上播放流
@IBAction func connectAndListen(sender: AnyObject) {
    var client:TCPClient = TCPClient(addr: "80.233.248.96", port: 6969)
    var (success,errmsg)=client.connect(timeout: 1)
    if success{
        while (success){
            var (success,errmsg)=client.send(str:"GET / HTTP/1.0\n\n" )
            if success{
                var data = client.read(1024*10)
                if let d = data{

                    var endMarker = NSMutableData(bytes: d, length: d.count)
                    println(endMarker)
                    self.audioPlayer = AVAudioPlayer(data: endMarker, error: nil)

                    self.audioPlayer?.prepareToPlay()
                    self.audioPlayer?.play()

                }
            }else{
                println(errmsg)
                break
            }
        }
    }else{
        println(errmsg)
    }
}

我的崩溃:

致命错误:在展开可选值时意外发现 nil

在此 self.audioPlayer!.prepareToPlay() Print screen my crash

  1. 从流中的字节创建一个 NSData 对象。
  2. 使用 initWithData:error: 方法创建一个 AVAudioPlayer
  3. 使用 AVAudioPlayer 播放方法播放音频。

我无法确切地告诉您如何创建 NSData 对象,因为我不知道您是如何获得字节流的,但是 NSData class 在Apple 文档。