Перейти к содержанию
Fire Monkey от А до Я
  • 0

Одновременное воспроизведение звуков


virus_forever

Вопрос

Доброго времени суток!

Подскажите, пожалуйста, возможно ли как то в приложениях, написанных с использованием FMX, одновременно проигрывать несколько звуков? - скажем фоновую мелодию и пару-тройку звуковых эффектов.

Если да, то как? Самое главное, чтобы работало на всех доступных платформах. Сперва Win, Android, а потом - OSX и iOS.

Помогите, пожалуйста! С уважением, Яков.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Думаю, Вам в помощь библиотека BASS.

Качестве примера использования самой библиотеки, рекомендую посмотреть пример, написанный ZuBy.

"у меня на гитхабе лежит пример работы с BASS, она же используется в этом приложении" (c) ZuBy

Ссылка на комментарий
  • 0
5 часов назад, AlexG сказал:

Думаю, Вам в помощь библиотека BASS.

Качестве примера использования самой библиотеки, рекомендую посмотреть пример, написанный ZuBy.

"у меня на гитхабе лежит пример работы с BASS, она же используется в этом приложении" (c) ZuBy

Спасибо большое за ответ! Пойду посмотрю пример! :)

Ссылка на комментарий
  • 0

Спасибо больше еще раз! То что нужно!!!

Вопросик появился: а в отдельном потоке библиотека работает? - у меня почему-то не хочет... Или в этом нет необходимости?

Ссылка на комментарий
  • 0
  • Модераторы
8 часов назад, virus_forever сказал:

Спасибо больше еще раз! То что нужно!!!

Вопросик появился: а в отдельном потоке библиотека работает? - у меня почему-то не хочет... Или в этом нет необходимости?

нет необходимости, все аудио-стримы итак работают в потоках

Ссылка на комментарий
  • 0

ZyBy

Хорошо, спасибо за пояснение. Дело в том, что я хотел в будущем всю звуковую подсистемы вынести в отдельный поток.

P.S.

Не могу понять в чем дело. Скаченный пример с GitHub - FMX.Radio - успешно компилируется под Android, только один Warning выдает.

Мой же тестовый пример - под Windows работает идеально (я даже некий оргазм испытал, голова по поводу звука болела больше всего - а тут, как я уже говорил - то что нужно. Работа с несколькими аудиопотоками (в том числе и из TMemoryStream) и разная громкость каждого).

А под Android не хочет компилироваться.

Checking project dependencies...
Building libBASStest.dproj (Debug, Android)
brcc32 command line for "libBASStest.vrc"
  c:\program files (x86)\embarcadero\studio\18.0\bin\cgrc.exe -c65001 "libBASStest.vrc" -folibBASStest.res 
dccaarm command line for "libBASStest.dpr"
  c:\program files (x86)\embarcadero\studio\18.0\bin\dccaarm.exe -$O- --no-config -B -Q -TX.so -AGenerics.Collections=System.Generics.Collections;
  Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG 
  -E.\develop\bin\Android\Debug -I"c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug";"c:\program files 
  (x86)\embarcadero\studio\18.0\lib\Android\Release" -LEC:\Users\Public\Documents\Embarcadero\Studio\18.0\Bpl\Android 
  -LNC:\Users\Public\Documents\Embarcadero\Studio\18.0\Dcp\Android -NU.\develop\dcu\Android\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap; -O"c:\program 
  files (x86)\embarcadero\studio\18.0\lib\Android\Release" -R"c:\program files (x86)\embarcadero\studio\18.0\lib\Android\Release" -U"c:\program files 
  (x86)\embarcadero\studio\18.0\lib\Android\debug";"c:\program files (x86)\embarcadero\studio\18.0\lib\Android\Release" 
  --libpath:E:\_PlatformSDKs\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a;
  E:\_PlatformSDKs\android-ndk-r9c\platforms\android-14\arch-arm\usr\lib 
  --linker:E:\_PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\bin\arm-linux-androideabi-ld.exe -V -VN 
  -NO.\develop\dcu\Android\Debug   libBASStest.dpr   
[DCC Error] E2597 E:\_PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lbass
  C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_ErrorGetCode(): error: undefined reference to 'BASS_ErrorGetCode'
  C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_Init(int, unsigned int, unsigned int, void*, void*): error: undefined reference to 'BASS_Init'
  C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_Free(): error: undefined reference to 'BASS_Free'
  C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_StreamCreateFile(int, void*, long long, long long, unsigned int): error: undefined reference to 'BASS_StreamCreateFile'
  C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_ChannelPlay(unsigned int, int): error: undefined reference to 'BASS_ChannelPlay'
  C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_ChannelStop(unsigned int): error: undefined reference to 'BASS_ChannelStop'
  C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_ChannelPause(unsigned int): error: undefined reference to 'BASS_ChannelPause'
  C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_ChannelSetAttribute(unsigned int, unsigned int, float): error: undefined reference to 'BASS_ChannelSetAttribute'
  C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_ChannelGetAttribute(unsigned int, unsigned int, float&): error: undefined reference to 'BASS_ChannelGetAttribute'
[DCC Fatal Error] F2588 Linker error code: 1 ($00000001)
Failed
Elapsed time: 00:00:21.4

Компилятор: Delphi 10.1 Berlin

D.P.F Delphi Android Native Components: Установить не получилось. Так ли нужны ли они для работы BASS? Ведь, скажем, тот-же FMX.Radio я только собрал, а на устройстве - не проверял!

В чем может быть проблема?

Ссылка на комментарий
  • 0
  • Модераторы
18 минут назад, virus_forever сказал:

Компилятор: Delphi 10.1 Berlin

D.P.F Delphi Android Native Components: Установить не получилось. Так ли нужны ли они для работы BASS? Ведь, скажем, тот-же FMX.Radio я только собрал, а на устройстве - не проверял!

В чем может быть проблема?

1) для чего нужны D.P.F Delphi Android Native Components?

2) в смотрели пример у меня на гитхабе?

Ссылка на комментарий
  • 0
35 минут назад, virus_forever сказал:

D.P.F Delphi Android Native Components: Установить не получилось. Так ли нужны ли они для работы BASS? Ведь, скажем, тот-же FMX.Radio я только собрал, а на устройстве - не проверял!

Вы наверное смотрите эту статью, где сказано скачать/установить D.P.F компоненты (я тоже мучался с этим). Не нужно ничего ставить, смотрите пример от ZuBy.

Изменено пользователем Rusland
Ссылка на комментарий
  • 0

Всем спасибо) Заработало) 

P.S.

А существуют ли какие то ограничения на количество загруженых ресурсов? То бишь, результат выполнения функций BASS_StreamCreateFile и подобных? - стоит ли загружать все звуковые ресурсы, или следует следить за количеством?

Ссылка на комментарий
  • 0
  • Модераторы
29 минут назад, virus_forever сказал:

Всем спасибо) Заработало) 

P.S.

А существуют ли какие то ограничения на количество загруженых ресурсов? То бишь, результат выполнения функций BASS_StreamCreateFile и подобных? - стоит ли загружать все звуковые ресурсы, или следует следить за количеством?

размер оперативной памяти.

ну три-четыре потока на винде я запускал, а на мобилах все же лучше следить

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...