10

AudioInputStream を介して wav ファイルをバイト配列に読み込んでいます。

    AudioInputStream audiofile = AudioSystem.getAudioInputStream(f);
    byte[] audio=new byte[numberofframes*framesize];
    int bytes=audiofile.read(audio);

データがリトル エンディアンで配置されていることを考慮して、サンプルのバイトを配置する必要がありますか?

4

1 に答える 1

1

チャネル数に関係なく、データが 16 以上のビット深度など、1 バイト以上でエンコードされている場合は、ビッグ エンディアンとリトル エンディアンが重要になります。Java は、PCM バイトをデフォルトの順序で自動的に配置せず、受け入れるだけです。

以下は、Javaオーディオチュートリアルの最も明確で最もよく書かれた単一のセクションであり、フォーマットとその変換に関する問題をカバーしています。

http://docs.oracle.com/javase/tutorial/sound/converters.html

于 2013-01-02T17:04:36.167 に答える