|
|
|||||
Регистрация: Aug 2012
Сообщений: 9
|
ByteArray to Sound
Здравствуйте!
Столкнулся с такой проблемой: есть wav (или mp3, не важно) в ByteArray. Нужно воспроизвести. Делал так: Слышен непонятный шум. Пожалуйста, помогите решить проблему. |
|
|||||
Регистрация: Jul 2007
Сообщений: 393
|
Цитата:
|
|
|||||
Регистрация: Aug 2012
Сообщений: 9
|
Файла нет, звук с микрофона. ByteArray корректный - это я узнал просто сохранив на диск и прослушав. Собственно там весь код, касательно вопроса. Проблема только в том, как воспроизвести ByteArray. У меня подозрение что проблема в 3ем параметре writeBytes, т.к. на сколько я понимаю, надо отправлять частями звук, а не весь
|
|
|||||
Регистрация: Jul 2007
Сообщений: 393
|
Тогда попробуйте.
или Короче, у меня в таких случаях обычно проблема, что позиция не скинута куда надо. Где определен sound_buff? Это что, ByteArray, вы туда данные скидываете, а потом в буфер воспроизведения? |
|
|||||
Регистрация: Aug 2012
Сообщений: 9
|
sound_buff - это декодированная в wav запись с микрофона. После начала воспроизведения байты не дописываются.
На ноль скидывал, не помогло. Очищать не вижу смысла. Там ведь звук. |
|
|||||
Регистрация: Jul 2007
Сообщений: 393
|
Ну так звук вы потом же в буфер воспроизведения кидаете? Покажите как. Вы сняли данные с микрофона, записали их в sound_buff(успешно), пытаетесь воспроизвести. Так?
|
|
|||||
Регистрация: Aug 2012
Сообщений: 9
|
Все верно. Способ я описал в 1ом посте. Звук помещаю в буфер по событию SampleDataEvent.SAMPLE_DATA методом writeBytes.
|
|
|||||
Регистрация: Jul 2007
Сообщений: 393
|
Ничего не понимаю.
пишет sound_buff в ByteArray массив события, или у меня голова не варит так поздно. же должно быть. |
|
|||||
Регистрация: Aug 2012
Сообщений: 9
|
Если использовать ваш метод, то тишина, нет даже шума.
e.data - это и есть буфер, в который будет воспроизводиться в ближайшее время. Туда надо поместить то, что должно проиграть. Я этого добиваюсь методом writeBytes. Когда оно проиграет, вызывается опять событие, для загрузки следующей порции. Это мое понимание, я могу ошибаться. Я думаю, что я помещаю много за раз, поэтому шум. sound_buff - это завершенный массив со звуком, в него ничего дописывать не надо. |
|
|||||
Регистрация: Jul 2007
Сообщений: 393
|
Окей, вижу. Все верно, sound запрашивает данные, через событие SampleDataEvent.SAMPLE_DATA. Типа сокет.
Тогда, раз у вас sound_buff-завершенный массив со звуком, и он корректен, то Вроде правильный код. Но вы сразу должны отписаться-больше данных же не ожидается, первый запрос выдал все доступные данные. Если не заработает-покажите, как у вас sound_buff формируется из микрофона, потестим. |
Часовой пояс GMT +4, время: 20:00. |
|
« Предыдущая тема | Следующая тема » |
Теги |
microphone , sound |
Опции темы | |
Опции просмотра | |
|
|