2

このクラスを使用してWavファイルを再生しました。

とても良いですが、wavファイルをある位置(KBまたは秒)で開始するにはどうすればよいですか?

auline.start();
    int nBytesRead = 0;
    byte[] abData = new byte[EXTERNAL_BUFFER_SIZE];



    try {
        while (nBytesRead != -1) {
            nBytesRead = audioInputStream.read(abData, 0, abData.length);
            System.out.println("s");
            if (nBytesRead >= 0)
                auline.write(abData, 0, nBytesRead);
        }
    } catch (IOException e) {
        return;
    } finally {
        auline.drain();
        auline.close();
    }

これはコードの一部です。

4

2 に答える 2

0

次の値を使用しますoffset

0 < offset < lengthOfArray

そのため、オフセットの現在の値から読み取りを開始し、読み取りデータのみを書き込みます。今、あなたはの値を使用していますoffset = 0

auline.write(abData, 0, nBytesRead) --- > auline.write(abData, offset, nBytesRead)

ここで、offsetは 0 より大きく、より小さいnBytesRead Doc #write(byte[], int, int)を参照してください

于 2011-08-05T03:41:30.540 に答える