1

全長から必要な長さを取得するスニペット:

Clip clip = AudioSystem.getClip();
AudioInputStream ais = AudioSystem.getAudioInputStream( new File( "file.wav") );
clip.open( ais );
long currentPos = clip.getMicrosecondPosition(); // get the current position of clip

audio fileこれらの手順の後、データ変換なしで(オーディオ データを同じに保つ)、新しい を作成する方法はありますcurrentPosか?

つまり、オーディオ ファイルを切り取り、そのサイズを次のように縮小します。currentPos

4

2 に答える 2

1

クリップは、オーディオ データの操作にはあまり役立ちません。サウンドファイルをバイト配列にロードして、それを処理する必要があると思います。

それを聞くために、未加工のオーディオ配列を TargetDataLine 実装でラップできます。TDL 実装は、好きな場所で開始または停止するためのフックを提供します。

スライスされたファイルを保存したい場合、引数の 1 つとして AudioInputStream を取る AudioSystem.write() メソッドの使用についておそらくご存知でしょう。TDL は、これらの書き込み用に AIS でラップできます。

もっと簡単にできる方法があれば、ぜひ読んでみたいです!

于 2011-09-14T09:23:19.043 に答える
-1

多くのオーディオ編集ツールがこの種のことを行うことができます。ゴールドウェーブをお試しください。

于 2011-09-14T00:00:56.850 に答える