2013-05-06 3 views
1

Я хочу воспроизвести определенные части wav-файла. Как играть в первые десять секунд, а затем играть с 50-60-й секунды и так далее. Я знаю, как играть весь волновой файл в Java, используя метод start SourceDataLine. Может ли кто-нибудь дать мне несколько указаний о том, как я могу найти конкретную временную позицию для аудио и играть в нее?Воспроизведение определенной части большого wav-файла

ответ

0
  • Найти длину кадра в байтах от AudioFormat
  • Найти длину в байтах секунды, путем умножения размера кадра на частоте кадров.
  • skip() это количество байт.
  • Воспроизведение до 2-го числа байтов, рассчитанных по той же формуле.
+0

Это именно то, что я сделал после того, как получил от Марко ответ. Спасибо, что записал это поэтапно. – BuzzLightYear

0

Насколько я вижу, ничего не происходит, когда вы просто звоните start. Вы несете ответственность за , нажимая байты вашего выбора в линию. Итак, откройте RandomAccessFile, найдите подходящее смещение и выполните цикл, который переносит данные файла на SourceDataLine.

+0

спасибо. Ваш ответ дал мне хорошее начало. – BuzzLightYear