Воспроизвести и найти аудио файл в Java - PullRequest
2 голосов
/ 05 августа 2011

Я использовал этот класс для воспроизведения моего WAV-файла.

Это очень хорошо, но Как запустить мой WAV-файл в какой-то позиции (КБ или секунду)?

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();
    }

Это часть кода.

Ответы [ 2 ]

1 голос
/ 05 августа 2011

A Clip (1) позволяет легко начать звук из любой точки мира (в секундах). Для примера см. Код Clip в информации JavaSound. страница .

  1. Смотрите особенно.
0 голосов
/ 05 августа 2011

Используйте это значение offset:

0 < offset < lengthOfArray

, чтобы оно начало считывать текущее значение смещения и, следовательно,пишите только прочитанные данные.Теперь вы используете значение offset = 0

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

, где offset больше 0, но меньше nBytesRead См. Doc # запись (byte [], int, int)

...