簡単な問題のようですが、希望する結果が得られないようです。
Wav形式によると、16ビットのwavファイルは署名されており、値の範囲は-32768〜32767です。それでも、正の整数しか取得できないようですが、何が欠けていますか?
これが私が出力した数ビットのデータのスクリーンショットです:
- さらに、誰かが右チャネルデータと左チャネルデータを区別する方法を説明できますか?私はこれの十分な例を見つけることができないようです。ありがとう。
これが私が使用したコードでwav.getFile()
、他のすべてのヘッダーデータを読み取った直後にファイルポインタを返します。
int SoundData;
for( int i = 0; i < 32; i++ )
{
fread( &SoundData, 4, 1, wav.getFile() );
cout << SoundData << endl;
}
みなさん、よろしくお願いします。