Название: Phonon не воспроизводит больше одного аудиофайла... Отправлено: Fregloin от Июнь 26, 2012, 16:38 Нужно в программе по событиям для определенных объектов воспроизводить заданные заранее звуки.
Звуки находятся в папке ~sounds (сейчас три wav и 1 mp3,но дальше будет намного больше). Я хочу, что бы при загрузке создавались media объекты, привязывались к нужным файлам, а потом при возникновении нужного события они проигрывались. Вот привожу код: Код: #ifndef CSOUNDSERVER_H Код: #include "csoundserver.h" При загрузке когфигурации звуковых событий, проигрывается только первый загурженный файл, а в консоли пишется следующее: Setting new source New source: QUrl( "file:///home/anton/sounds/federalg.mp3" ) Setting new source New source: QUrl( "file:///home/anton/sounds/ring.wav" ) WARNING: Phonon::createPath: Cannot connect Phonon::MediaObject ( no objectName ) to Phonon::AudioOutput ( no objectName ). Setting new source New source: QUrl( "file:///home/anton/sounds/bigbell.wav" ) WARNING: Phonon::createPath: Cannot connect Phonon::MediaObject ( no objectName ) to Phonon::AudioOutput ( no objectName ). Я так понимаю все файлы воспроизводить через одно QAudioDevice. Или для каждого файла нужна своя копия QAudioDevice? Название: Re: Phonon не воспроизводит больше одного аудиофайла... Отправлено: Kurles от Июнь 26, 2012, 23:25 Код из void CSoundServer::setAlerts(CEcMap &ecMap, const CSoundAlertItemList &alerts) перенеси в конструктор, и соотеветственно Phonon::MediaObject * mediaObject сделай закрытым членом класса. И, в теории, должно заработать. Название: Re: Phonon не воспроизводит больше одного аудиофайла... Отправлено: Fregloin от Июнь 27, 2012, 13:34 у меня похоже утечка памяти при проигрывании файлов.
прога постепенно увеличивает потребление памяти, и за ночь съела почти всю. сейчас закомментировал проигрывание, и утечки уже нет. как быть? звук позарез нужен Название: Re: Phonon не воспроизводит больше одного аудиофайла... Отправлено: Bepec от Июнь 27, 2012, 13:35 Я б вообще посоветовал QSound :D Если пара - тройка файлов на оповещение, то смысла в фононе не особо вижу.
Название: Re: Phonon не воспроизводит больше одного аудиофайла... Отправлено: Kurles от Июнь 27, 2012, 14:15 у меня похоже утечка памяти при проигрывании файлов. Минимально компилируемый проект с использованием CSoundServer предоставь. Либо действительно QSound или монстроиодный vlc используй.прога постепенно увеличивает потребление памяти, и за ночь съела почти всю. сейчас закомментировал проигрывание, и утечки уже нет. как быть? звук позарез нужен Название: Re: Phonon не воспроизводит больше одного аудиофайла... Отправлено: Fregloin от Июнь 27, 2012, 14:19 QSound звука не выдает, я так понял нужно ставить Network Audio system?
на vlc ругается, и зука не дает Название: Re: Phonon не воспроизводит больше одного аудиофайла... Отправлено: Bepec от Июнь 27, 2012, 14:23 Кхм. Пожалуйте сюда и выложите как на духу - что за операционная система, какая версия у вас Qt и да, минимально компилируемый пример в студию.
PS QSound вообще примитив, если он не играет, значит у вас что-то где-то не того. Название: Re: Phonon не воспроизводит больше одного аудиофайла... Отправлено: Fregloin от Июнь 27, 2012, 14:26 Вот что выдаёт.
Убунта 12.4 32бит, Qt 4.8.1 Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString) QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave. QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave. kbuildsycoca4 running... WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream ALSA lib pcm_dsnoop.c:551:(snd_pcm_dsnoop_open) The dsnoop plugin supports only capture stream ALSA lib pcm_dsnoop.c:551:(snd_pcm_dsnoop_open) The dsnoop plugin supports only capture stream ALSA lib pcm_dsnoop.c:612:(snd_pcm_dsnoop_open) unable to open slave ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream ALSA lib pcm_dsnoop.c:551:(snd_pcm_dsnoop_open) The dsnoop plugin supports only capture stream ALSA lib pcm_dsnoop.c:612:(snd_pcm_dsnoop_open) unable to open slave WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: Phonon::createPath: Cannot connect Phonon::MediaObject ( no objectName ) to Phonon::AudioOutput ( no objectName ). |