から低レベルのオーディオを読み取るQAudioInput
と、結果のデータはQByteArray
. をセットアップするときQAudioInput
に、データから必要なサンプル タイプを指定できます。そこにfloatを指定すると、データQByteArray
がすでにこの形式になっているということですか?そうであれば、単に出力データをキャストして float 配列を読み取りますか? そうでない場合、予想されるフロートを取得するためにどのように保存されていますか?
1 に答える
0
すべてのコンピューター メモリは個々のバイトですが、それらのバイトには必要なものを格納できます。と間違えないでくださいQByteArray
。QVector<char>
これQByteArray
は Qt の「ジェネリック メモリ バッファ」クラスです。
記録形式が float の場合は、バイト配列から float を読み取るだけで、変換する必要はありません。実際、float は 1 バイトよりも大きいため、より多くのサンプルが得られ、ガベージが発生します。
バイト配列ポインターに直接アクセスして、そこから floatdata
を読み取ることができます。size() / sizeof(float)
于 2014-11-14T12:53:57.547 に答える