あるデバイスでオーディオを録音し、ソケット接続で接続された別のデバイスで再生するアプリを開発しています。
SpeakHere の例のように、Audioqueues を使用して 1 つのピア デバイスにデータを記録し、そのデータを OTA でストリーミングしています。
Matt Gallagher の AudioStreamer の例のように、反対側で AudioFileStream と AudioQueue を使用して、受信デバイスでそのデータを再生しようとしています。
AudioFileStreamParseBytes への呼び出しは、「pty?」を返しています。エラー。結果として、この呼び出しに関連付けられたコールバック (プロパティおよびオーディオ パケット用) はどちらも呼び出されません。
mp3 や HTTP ストリームなどをオンラインでストリーミングするためのサンプル コードはたくさんあります。しかし、AudioQueue を使用して録音したオーディオをストリーミングしたい場合、不足している可能性があるものはありますか? おそらくAudioQueueプロパティに関連する何か?
私が受け取ったデータが実際に適切なオーディオデータであるかどうかを確認する方法を誰かが提案できますか?
小さなコード:
void AQPlayer::StreamDataAvailable(MediaPacket* packet)
{
OSStatus err = 0;
err = AudioFileStreamParseBytes(mAudioFileStream, packet->msizeInBytes, packet->mVoiceData, 0);
if (err)
{
NSLog(@"AudioFileStreamParseBytes Error");
}
}
さらに、packet->mVoiceData には約 44K バイトのデータがあり (それが適切なデータかどうかはわかりませんが)、packet->msizeInBytes がその数を反映していることを確認済みです。
どんな助けでも感謝します。ありがとう!