0

から低レベルのオーディオを読み取るQAudioInputと、結果のデータはQByteArray. をセットアップするときQAudioInputに、データから必要なサンプル タイプを指定できます。そこにfloatを指定すると、データQByteArrayがすでにこの形式になっているということですか?そうであれば、単に出力データをキャストして float 配列を読み取りますか? そうでない場合、予想されるフロートを取得するためにどのように保存されていますか?

4

1 に答える 1

0

すべてのコンピューター メモリは個々のバイトですが、それらのバイトには必要なものを格納できます。と間違えないでくださいQByteArrayQVector<char>これQByteArrayは Qt の「ジェネリック メモリ バッファ」クラスです。

記録形式が float の場合は、バイト配列から float を読み取るだけで、変換する必要はありません。実際、float は 1 バイトよりも大きいため、より多くのサンプルが得られ、ガベージが発生します。

バイト配列ポインターに直接アクセスして、そこから floatdataを読み取ることができます。size() / sizeof(float)

于 2014-11-14T12:53:57.547 に答える