私は短い配列のPCMサンプルを持っています。これを再生する最良の方法は何ですか? 形式は8000Hz、モノ、16ビット、ビッグエンディアンです。それはかなり簡単ですが、あなたは、いくつかの決まり文句を使用する必要がjavax.sound.sampledパッケージに (PCMサンプルがいくつかのファイルを読み、コード内で発生していません)Javaでpcm生データを再生する方法
おかげ
私は短い配列のPCMサンプルを持っています。これを再生する最良の方法は何ですか? 形式は8000Hz、モノ、16ビット、ビッグエンディアンです。それはかなり簡単ですが、あなたは、いくつかの決まり文句を使用する必要がjavax.sound.sampledパッケージに (PCMサンプルがいくつかのファイルを読み、コード内で発生していません)Javaでpcm生データを再生する方法
おかげ
。
ここではその上の良いチュートリアルです:www.wikijava.org/wiki/Play_a_wave_sound_in_Java
は、基本的にはあなたの配列からInputStream
を作成し、AudioInputStream
を作成するためにそれを使用する必要があります。そこで、オーディオデータの形式を指定する必要があります。
次に、出力ストリーム(SourceDataLine
)を開き、オーディオストリームのバイトをそのストリームにコピーします。
この記事をチェックする - http://download.oracle.com/javase/tutorial/sound/playing.html
具体的には、SourceDataLineとAudioFormatの設定方法について説明します。
チップをありがとう。私はこの方法を試しましたが、pcmデータを正しく再生できませんでした。おそらく、AudioFormatにいくつかの設定問題があります。しかし、私は回避策を見つけました.pcmデータを/tmp/x.wavを再生するためにFileOutputStream(/tmp/x.wav)とexec'd aplayコマンド(Linuxのalsaユーティリティ)にダンプしました。 – Geos