Russian Qt Forum

Qt => Мультимедиа => Тема начата: jacuba от Март 09, 2011, 08:09



Название: Воспроизведение *.wav
Отправлено: jacuba от Март 09, 2011, 08:09
Добрый день, имеется код
Код:
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QSound>
#include <QPushButton>
#include <QWidget>
#include <QProcess>

int main(int argc, char *argv[])
{
    QSound bells("/home/user/beep.wav");
    bells.play();
    if (bells.isFinished())
                printf("!!!");
}

По задумке должен воспроизвестись файл /home/user/beep.wav, но этого не происходит, что я делаю не так?


Название: Re: Воспроизведение *.wav
Отправлено: alexman от Март 09, 2011, 08:56
А этот код компилится?


Название: Re: Воспроизведение *.wav
Отправлено: jacuba от Март 09, 2011, 09:16
Подправил код в первом посте, добавив проверку.
Да, код компилится, в консоле появляется "!!!", из этого я делаю вывод, что звук отыгрывает, но я этого не слышу.

В документации написано:
Цитировать
X11  
The Network Audio System is used if available, otherwise all operations work silently. NAS supports WAVE and AU files.

NAS поставил путём: sudo apt-get install nas

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


Название: Re: Воспроизведение *.wav
Отправлено: jacuba от Март 09, 2011, 09:59
неужели нет более простого способа воспроизведения wav в qt, смотрю в сторону Phonon, но очень не хочу прибегать к его помощи.


Название: Re: Воспроизведение *.wav
Отправлено: Ubuntu_linux от Март 09, 2011, 10:15
У меня была похожая сиуация. Дело оказалось, что надо было заблокировать прогу до завершения воспроизведения файла. Под линуксом я также играл файл с  QProcess и mpg123. Так било удобнее.


Название: Re: Воспроизведение *.wav
Отправлено: jacuba от Март 09, 2011, 13:25
У меня была похожая сиуация. Дело оказалось, что надо было заблокировать прогу до завершения воспроизведения файла. Под линуксом я также играл файл с  QProcess и mpg123. Так било удобнее.

Большое спасибо, задача решена
Код:
QProcess::startDetached("mpg123 beep-1.mp3");