Учебники для OpenSL ES для Android

Я пытался изучить библиотеку OpenSL ES, которая доступна для создания собственного аудио с Android 2.3, но, похоже, что файлы заголовков и 600 страниц pdf спецификации являются единственной доступной документацией.

Где я должен искать примеры, учебные пособия или краткий обзор возможностей?

Solutions Collecting From Web of "Учебники для OpenSL ES для Android"

В приложении есть приложение NDK под названием NativeAudio. В нем есть примеры почти того, что вы когда-либо хотели бы реализовать: эффекты, потоковое воспроизведение, синтез и т. Д. Если вы посмотрите на его код, вы получите хорошее начало.

Вы также можете проверить блог аудиопрограммирования победителя lazzarini, у него есть раздел андроида: http://audioprograming.wordpress.com/category/android/

Там вы найдете рабочие примеры, они были очень полезны для меня, чтобы начать работу с openSL и можно использовать в качестве основы для разработки аудио-приложений с ndk.

А также, не упускайте из виду технический документ, это не так уж долго, первая часть не более пятидесяти страниц и дает вам необходимую перспективу, чтобы понять, как все работает, а остальное для справочного использования. Будьте осторожны, что некоторые вещи в реализации openroid openSL отличаются от спецификаций: см. В вашем -ndk-каталоге / docs / opensles / index.html для получения дополнительной информации об этом.

После довольно тщательного поиска более ценной информации я нашел:

  • Проект NativeAudio, включенный в NDK, является хорошим началом.
  • Кроме того, это отличная стартовая точка в главе 7 «Воспроизведение звука с помощью OpenSL ES» книги «Руководство для начинающих Android NDK» Сильвина Ратабуиля (вы можете взглянуть на амазонку, используя функцию «заглянуть внутрь» или купить ее).
  • Этот проект кода google для замены SoundPool с OpenSL – отличный пример. Все кредиты и благодарности их авторам.

Для тех из вас, кто хочет просто играть одиночные звуковые файлы или записывать короткий снимок (в одном буфере), проекта NDK будет достаточно. Я взглянул на «Руководство для начинающих Android NDK», и это действительно не объясняет слишком много, чем пример NDK-проекта.

Но на самом деле для этих приложений вам, вероятно, лучше всего подходит один из Java API. Использование OpenSL ES для них – это немного перехитрить IMHO. Будет намного больше кода для написания и никакого реального выигрыша.

Преимущество OpenSL для тех, кто заинтересован в более низких задержках (когда они становятся доступными) для синтеза и обработки аудио, и для этого вам, скорее всего, захочется потоковое аудио, а не воспроизведение / запись одиночных буферов. Глава книги и пример NDK не научат вас этому. Блогпосты в блоге аудиопрограмм более информативны для этих целей.

Один из форумов аудио-программирования Виктора Лаззарини в разделе Android – это действительно хорошее начало. http://audioprograming.wordpress.com/category/android/

И есть прямой загружаемый примерный код из репозитория bitbucket git для этого блога, это самая желанная часть.

Сборка и прогон довольно просты. Для меня мне нужны эти шаги для сборки и запуска этого примера:

  1. Установите SWIG: swig-3.0.2 . Установите его на 3 шага:

    $ Configure $ make $ sudo make install.

  2. Отредактируйте файл build.sh, чтобы отобразить местоположение вашего NDK. Запустите скрипт build.sh в каталоге верхнего уровня.
  3. Создать build.xml:

    $ Android update project –name opensl-es-audiotest –target 1 –path ./

  4. Построить с ant: $ ant debug
  5. Затем вы можете установить его на свое устройство и протестировать его:

    $ Adb install bin / opensl-es-audiotest-debug.apk