0

私は1つのデバイスにオーディオを録音し、ソケット接続で接続された別のデバイスでオーディオを再生するアプリケーションに取り組んでいます。AudioFileStreamParseBytesは "pty?"を返します。録音したデータを再生する

私はAudioqueuesを使用して1つのピアデバイスにデータを記録し、そのデータOTAをストリーミングします(SpeakHereの例のように)。

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"); 
    } 
} 

はまた、私はすでにパケット交換> mVoiceDataは、データの44Kbytes(それが賢明なデータであるかどうかわからないが)について、およびパケット交換> msizeInBytesということを反映していることを確認しています数。

助けてください。 ありがとう!

+0

kAudioFileUnsupportedPropertyError \t 'pty?' \t このプロパティはサポートされていません。 iOS 2.0以降で使用できます。 –

+0

ありがとうございましたが、私は "pty"を理解することができました。私が知る必要があるのは、そのための修正です。どの財産?それはどこから得ていますか?これらについては考えていない。 – dagnytaggart

+0

わかりやすいトレースバックがある場合は、エラーが通知された場所から正確に手がかりを得ることができます。 –

答えて

0

AudioFileStreamはLPCM形式をサポートしていません。それが私がこのエラーを起こす理由と思われます。私の推測は、LPCMは生データであり、解析する必要はないからです。

この場合、AudioFileStreamをまったく使用する必要はありません。 AudioQueuesを使うだけで十分でした。

AudioQueuesだけを使用してデータを記録、送信、送信することができました。

関連する問題