Страница 1 из 1

Воспроизведение звукового файла из ресурсов (Linux)

СообщениеДобавлено: 22.01.2013 08:57:22
dilloYa
С воспроизведением звуковых файлов через приложение проблем нет, используя функцию fpSytem(), но подскажите, как направить во внешнее приложение файл из ресурса. Копаю в сторону tprocess, но пока никак не могу сообразить, как реализовать эту возможность

Re: Воспроизведение звукового файла из ресурсов (Linux)

СообщениеДобавлено: 22.01.2013 15:32:23
Ism
Что за ресурсы ? Чем воспроизведение из файла плохо ?

Re: Воспроизведение звукового файла из ресурсов (Linux)

СообщениеДобавлено: 22.01.2013 16:07:57
dilloYa
Ism писал(а):Что за ресурсы ?

- ресурсы которые я подключаю к проекту, в частности те, которые собираю утилитой lazres
Ism писал(а):Чем воспроизведение из файла плохо ?

- ничем не плохо, просто хочу ЭТИ файлы спрятать в тело программы
... для Windows все реализуется достаточно просто, для этого нужно воспользоваться функцией sndPlaySound из модуля mmsystem, хочу подобным образом реализовать под линукс

Re: Воспроизведение звукового файла из ресурсов (Linux)

СообщениеДобавлено: 22.01.2013 16:31:47
kosteek
В mmsystem хранятся winapi ф-ции. Этот способ не подходит для линукса. Легче вынуть файл из ресурса и воспроизвести его с помощью aplay.

Re: Воспроизведение звукового файла из ресурсов (Linux)

СообщениеДобавлено: 22.01.2013 17:19:10
Ism
Для Linux вам проще брать из ресурса в TMemoryStream , затем SaveToFile в temp и воспроизвести в любой удобной программе
Если особо возвращаться можно через это Named pipes
http://habrahabr.ru/post/94350/
[url]http://ru.wikipedia.org/wiki/Именованный_канал[/url]

Re: Воспроизведение звукового файла из ресурсов (Linux)

СообщениеДобавлено: 23.01.2013 04:56:30
SSerge
dilloYa писал(а):для этого нужно воспользоваться функцией sndPlaySound из модуля mmsystem


dilloYa писал(а):проблем нет, используя функцию fpSytem()



А ничего, что при этих методах несинхронность может измеряться несколькими секундами, а программа при этом - уходить в аут?
...Ибо наличие у программиста компьютера, существенно более мощного, чем у пользователей его программы - есть Зло. :twisted:

Мне вот все интересно, кто нибудь вообще под линуксом из fpascal реализовавал нормальное воспроизведение звука, т.е. через ALSA или PulseAudio, без вызова внешних полноценных плееров и без того, чтобы звуковые файлы выпускать на диск?

Под Windows, если что, directX (DirectSound) с этим справляется, и работоспособная интерфейсная библиотека к лазарусу для него есть.

Re: Воспроизведение звукового файла из ресурсов (Linux)

СообщениеДобавлено: 23.01.2013 06:00:26
dilloYa
SSerge писал(а):А ничего, что при этих методах несинхронность может измеряться несколькими секундами, а программа при этом - уходить в аут?

- программа в аут не уходит, если вызываемое приложение отправить в фон
SSerge писал(а):...Ибо наличие у программиста компьютера, существенно более мощного, чем у пользователей его программы - есть Зло.

- ну у любой программы, даже у калькулятора, есть некоторые системные требования, тем не менее у меня есть возможность тестировать программу на существенно более слабом компьютере
SSerge писал(а):Мне вот все интересно, кто нибудь вообще под линуксом из fpascal реализовавал нормальное воспроизведение звука, т.е. через ALSA или PulseAudio, без вызова внешних полноценных плееров и без того, чтобы звуковые файлы выпускать на диск?

- именно такой подход и хочу реализовать, правда через fpSystem, мне кажется, это не получится сделать

Re: Воспроизведение звукового файла из ресурсов (Linux)

СообщениеДобавлено: 23.01.2013 09:59:45
kosteek
SSerge писал(а):Мне вот все интересно, кто нибудь вообще под линуксом из fpascal реализовавал нормальное воспроизведение звука

Смотря что называть нормальным. Можно попробовать через OpenAL.

Re: Воспроизведение звукового файла из ресурсов (Linux)

СообщениеДобавлено: 23.01.2013 11:02:56
SSerge
kosteek писал(а):Можно попробовать через OpenAL.


Интерфейсные модули для freepascal для него существуют?

Re: Воспроизведение звукового файла из ресурсов (Linux)

СообщениеДобавлено: 23.01.2013 15:21:29
Ism
Насчет использования библиотек, кто мешает портировать на fpc части кода на С++ работающие со звуком как требуется ?
Есть Gstreamer http://ru.wikipedia.org/wiki/GStreamer

FreePascal работает с .so точно так же как и другие языки, а куски кода для воспроизведения небольшие и протировать будет несложно

Можно вообще использовать Gtk напрямую http://wiki.lazarus.freepascal.org/Acce ... s_directly
А в Qt возможно уже есть функции воспроизведения

http://www.lazarus.freepascal.org/index ... pic=3908.0

Re: Воспроизведение звукового файла из ресурсов (Linux)

СообщениеДобавлено: 24.01.2013 13:04:26
mig-31
Под КДЕ есть Фонон бакэнд.