Мобильные платформы
GameDev.ru / Мобильные платформы / Форум / Воспроизведение музыки в native [Android]

Воспроизведение музыки в native [Android]

Поделиться
G@sh!shПостоялецwww20 июня 201216:06#0
Всем привет.
Имеется игра, написана она почти полностью на c++, за исключением пары оберток на яве для отловли касания и ренднра ogl. Теперь захотелось добавить различных звуковых эффектов и музыки. Через что это можно сделать с наименьшими телодвижениями? Или есть у кого примеры кода?
толком сам ничего не смог нагуглить
NeParijПостоялецwww20 июня 201223:09#1
OpenAL? Погугли по нему. В принципе всё необходимое в нём есть, а при усилиях и немного больше.
StainПостоялецwww21 июня 20127:50#2
G@sh!sh
Если тебе и правда захотелось подключить себе OpenAL, тогда Лови.
А так... в NDK ведь уже есть OpenSL.
Примеры OpenSL есть у самого NDK, а примеры OpenAL есть по той же ссылке. Use it well ;)
G@sh!shПостоялецwww21 июня 201215:21#3
спасибо. буду гуглить/разбираться. а то особо и не знал в какую сторону искать
_NetSurfer_Постоялецwww22 июня 20122:50#4
OpenAL + libogg/libvorbis + libmodplug
Очень здорово работает на андроиде (да и других платформах). Добавлю ещё ссылку: www.linderdaum.com - там сырцы есть и конфиги для сборки.
aRixПостоялецwww17 июля 20129:34#5
Вопрос из разряда философских для людей с опытом: стоит ли вообще работать со звуком в NDK, когда есть SoundPool и MediaPlayer?
ReeVПостоялецwww17 июля 201223:50#6
NDK+OpenAL(by backend opensl)
StainПостоялецwww19 июля 201218:11#7
Любое принятое решение должно быть технически обосновано. Основания же, в зависимости от целей, могут быть самыми разными. От желания "сделать своими руками", или стремления саморазвития, до рамок уже введенного функционала проекта и потребности "поддержать" этот функционал и под андроидом.
Результат всегда будет один. Это одна из "темных сторон" оси, которые мне кардинально не нравятся. Даже если реализуешь звук через штатный OpenSL, его вызовы все равно сперва протянутся на сторону явы к классам явы, а потом уже от них снова на низкий уровень в сторону ядра и драйверов звука. То есть, тропинка будет всегда через одно место - через яву. :)

Я ввел поддержку OpenAL с драйвером девайса на стороне явы. Для меня это решение было самым практичным потому что у меня уже тонна кода на OpenAL базируется. :)

eyenieПостоялецwww21 июля 201210:40#8
  OpenAL (by backend opensl), работает нативно, не через какую яву вызовов нет. Но поддержка OpenSL идет начиная с android-9 (2.3). Если нужна поддержка более ранних версий андроида, то есть реализация OpenAL через через JNI на AudioTrack.
  Работать со звуком из NDK имеет смысл, если приложение уже написано на С++ или хочется использовать кроссплатформенное решение
ReeVПостоялецwww22 июля 201212:07#9
Stain
> Любое принятое решение должно быть технически обосновано. Основания же, в
> зависимости от целей, могут быть самыми разными. От желания "сделать своими
> руками", или стремления саморазвития, до рамок уже введенного функционала
> проекта и потребности "поддержать" этот функционал и под андроидом.
> Результат всегда будет один. Это одна из "темных сторон" оси, которые мне
> кардинально не нравятся. Даже если реализуешь звук через штатный OpenSL, его
> вызовы все равно сперва протянутся на сторону явы к классам явы, а потом уже от
> них снова на низкий уровень в сторону ядра и драйверов звука. То есть, тропинка
> будет всегда через одно место - через яву. :)
> Я ввел поддержку OpenAL с драйвером девайса на стороне явы. Для меня это
> решение было самым практичным потому что у меня уже тонна кода на OpenAL
> базируется

http://ru.wikipedia.org/wiki/Dalvik_virtual_machine

StainПостоялецwww22 июля 201222:22#10
ReeV
Сорри, не понял сути ссылки рядом с цитатой моего текста. Расскажи его пожалуйста словами.

/ Форум / Мобильные платформы / Общее

Тема в архиве.

2001—2017 © GameDev.ru — Разработка игр