私は、Int16オブジェクトの配列であるswiftのDataオブジェクトを持っています。何らかの理由で、 ".pcmFormatInt16"を使用しても、私のAVAudioPCMBufferのフォーマットでは機能せず、サウンドもメモリエラーも発生しませんでした。最終的には、Int16をフロートに変換し、それをAVAudioPCMBufferの両方のチャンネルに入れることで、スピーカーからホワイトノイズ/スタティックを再生することができました。私は答えに近づいていると感じています。なぜなら、私がマイクに話すたびに、静的な周波数が違うからです。私は、変換されたInt16をバッファfloatChannelDataに変換していないという問題があると思います。ここでInt16をAVAudioPCMBufferに書き込むswift
は私のコードです:
for ch in 0..<2 {
for i in 0..<audio.count {
var val = Float(Int16(audio[i]))/Float(Int16.max)
if(val > 1){
val = 1;
}
if(val < -1){
val = -1;
}
self.buffer.floatChannelData![ch][i+self.bufferCount] = val
self.bufferCount+=1
}
}
self.audioFilePlayer.scheduleBuffer(self.buffer, at:nil, options: .interruptsAtLoop, completionHandler: {
print("played sum")
self.bufferCount=0
})
に答える伝えたら
我々は継続することができ、私のコードの書式設定の一部はめちゃめちゃ少ないです。フレーズ "Here is my code:"の後に残りはコード –