вырезать аудиоданные в потоке с помощью Java - PullRequest
0 голосов
/ 09 мая 2011

я знаю, как читать байты из файла и сохранять, но как я могу прочитать секунды из аудиофайла и сохранить в новом файле? Есть ли способ для этого? Сколько байтов содержит 1 секунду? Может быть, это звучит глупо, но я понятия не имею.

p.s. я хочу записать только 20 секунд из аудиофайла и сохранить эти 20 секунд в другой файл .. я знаю, как записать в новый файл, но как записать только некоторую часть (20 секунд) аудиофайла

спасибо заранее Рони

1 Ответ

0 голосов
/ 11 мая 2011

Это зависит от формата, который вы используете для захвата аудиопотока.Например, если вы используете необработанное (несжатое) аудио, 16 бит на семпл, стерео и 44 кГц (что означает 44100 семплов в секунду), вам необходимо сохранить 2 * (16/8) * 44100байт в секунду.Кроме того, если вы хотите написать какой-то стандартный файл, который могут читать другие приложения, вам нужно будет выбрать формат контейнера.Для необработанного (несжатого) звука обычно используются волновые файлы Microsoft , и вам потребуется написать заголовок с некоторыми метаданными в начале вашего файла.

Обновление:

Вы можете попробовать использовать AudioFileWriter .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...