私は間違った質問をしているかもしれませんが、この分野での私の知識は非常に限られています。
acmStreamConvert
PCMをGSM(6.10)に変換するために使用しています。
オーディオフォーマット:8kHz、16ビット、モノラル
PCMバッファサイズには640バイト(320サンプル)を使用しています。GSMバッファには、65バイトを使用しています。私の理解では、GSMは「常に」320サンプルを65バイトに変換します。
「ブロックまたはストリーム」と尋ねる理由は、同じacmStreamConvertハンドルを使用して複数のオーディオストリームを(リアルタイムで)安全に変換できるかどうか疑問に思っているからです。関数にはととのフラグがいくつかあるようですが、GSMにこの開始/終了シーケンスを使用する必要がありますかACM_STREAMCONVERTF_START
?ヘッド/テールを使用する一部のフォーマットで必要になる可能性があることは理解していますが、GSMフォーマットでは必要ないことを望んでいますか?ACM_STREAMCONVERTF_END
ACM_STREAMCONVERTF_BLOCKALIGN
私はグループVOIPクライアントで作業しており、各クライアントはGSM形式を送信し、再生する前にPCMに変換する必要があります。クライアントごとに1つのACMハンドルが必要ないことを望んでいます。