Russian Qt Forum
Ноябрь 23, 2024, 07:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Воспроизведение *.wav  (Прочитано 3861 раз)
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, но этого не происходит, что я делаю не так?
« Последнее редактирование: Март 09, 2011, 09:13 от jacuba » Записан
alexman
Гость
« Ответ #1 : Март 09, 2011, 08:56 »

А этот код компилится?
Записан
jacuba
Гость
« Ответ #2 : Март 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...
« Последнее редактирование: Март 09, 2011, 09:26 от jacuba » Записан
jacuba
Гость
« Ответ #3 : Март 09, 2011, 09:59 »

неужели нет более простого способа воспроизведения wav в qt, смотрю в сторону Phonon, но очень не хочу прибегать к его помощи.
Записан
Ubuntu_linux
Гость
« Ответ #4 : Март 09, 2011, 10:15 »

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

У меня была похожая сиуация. Дело оказалось, что надо было заблокировать прогу до завершения воспроизведения файла. Под линуксом я также играл файл с  QProcess и mpg123. Так било удобнее.

Большое спасибо, задача решена
Код:
QProcess::startDetached("mpg123 beep-1.mp3");
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.07 секунд. Запросов: 20.