Pull to refresh

Comments 15

Спасибо за статью, тема интересная и нужная. Не подскажите, есть ли там возможность проиграть одновременно два коротких mp3 файла в идеальной синхронизации? Чтобы звучало так, будто я взял два PCM потока и смешал их руками в один. Есть ли механизмы для этого в OpenSL ES? SoundPool, например, иногда выдает ощутимую задержку.
Насколько я знаю, для проигрывания каждого из mp3 придется создавать отдельный плеер. Их можно проиграть одновременно. Но сомневаюсь, что синхронизация при этом будет идеальной. Стоит покопать спецификацию на счет этого, сам я такой целью не задавался. Стоит учесть, что само API иногда тормозит — например, в статье я упомянул о тормозах при зацикливании плеера.
В спецификации есть раздел 3D Audio. Похоже, это именно то, что Вы искали.
Код как-то уж больно брутально смотрится.
Какая-то она дико страшная в сравнении с OpenGL и OpenGL ES. И потом хоть оно и open, но нигде я не видел кроме андроида её поддержки, а openAL есть везде. В чем вообще её преимущество над openAL и зачем этот велосипед вообще создавался?
Частичный ответ на Ваш вопрос. Ну, и другие комментарии к той статье стоит посмотреть, если интересно.

Конкретно мне было все равно, использовать OpenAL, OpenSL ES или что-то еще, т.к. опыта в этой области не было вообще. Теперь опыт есть, почему бы не поделиться?=)
Подскажите пожалуйста. Какую IDE Вы используете для работы с NDK?
Eclipse + CDT. Удобно, много туториалов по установке и настройке.
И ещё один вопрос.
Можно ли при использовании OpenSL ES проигрывать аудио, которое качается из интернета?
Т.е. файл ещё полностью не скачан, а проигрывание уже началось. Такое возможно?
Да, возможно. В проекте NativeAudio из поставки NDK есть соответствующий пример.
А можно с помощью OpenSL ES декодировать mp3 в PCM, чтобы потом использовать?
Вообще, в одном из обсуждений пишут, что можно и отсылают к докам. Но я не нашел, как это сделать. А зачем это нужно?
Здесь более подробный вопрос.

У нас просто слишком сложная работа со звуком реализована на OpenAL. Поэтому единственный вариант — декодировать mp3 и писать полученные данные в буфер OpenAL.
Вообще, в одном из обсуждений пишут, что можно и отсылают к докам. Но я не нашел, как это сделать.

Вот и я тоже =/
Sign up to leave a comment.

Articles