如何在iOS设备swift 3上从Int数组创建音频文件?
我有带声音膜的蓝牙设备,我可以用手指在这个膜上擦洗并发出声音。然后这个模拟声音通过蓝牙发送到iPhone,然后我可以通过蓝牙代理方法处理这些值。 我接收数据,然后将该数据转换为0到4000之间的值,如[1012530002504000…n]。我需要这些值在iPhone屏幕上绘制声音。然后我需要在我的iPhone上根据这些值产生声音。 问题是如何将[Int]数组转换为音频文件或其他内容。然后在音频引擎上像流一样播放。 我希望能够播放iPhone上的声音。 我试过了,但没有成功:如何在iOS设备swift 3上从Int数组创建音频文件?,swift,audio,stream,Swift,Audio,Stream,我有带声音膜的蓝牙设备,我可以用手指在这个膜上擦洗并发出声音。然后这个模拟声音通过蓝牙发送到iPhone,然后我可以通过蓝牙代理方法处理这些值。 我接收数据,然后将该数据转换为0到4000之间的值,如[1012530002504000…n]。我需要这些值在iPhone屏幕上绘制声音。然后我需要在我的iPhone上根据这些值产生声音。 问题是如何将[Int]数组转换为音频文件或其他内容。然后在音频引擎上像流一样播放。 我希望能够播放iPhone上的声音。 我试过了,但没有成功: let dataI
let dataInt = Data(bytes: &receivedInt,
count: MemoryLayout.size(ofValue: receivedInt))
playAudioWithData(data: dataInt)
//or this
let dataInt = UInt8(receivedInt).data
playAudioWithData(data: dataInt)
//or even directly from bluetoothData
playAudioWithData(data: bluetoothData)
...
func playAudioWithData(data: Data) {
do {
try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try! AVAudioSession.sharedInstance().setActive(true)
player = try AVAudioPlayer(data: data, fileTypeHint: AVFileTypeMPEGLayer3)
player?.play()
} catch {
print("error initializing AVAudioPlayer")
}
}
///error initializing AVAudioPlayer