Форум русскоязычного сообщества Ubuntu


Автор Тема: Qt: не воспроизводит wav файл  (Прочитано 5105 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Qt: не воспроизводит wav файл
« : 13 Февраль 2011, 20:48:08 »
Всем привет. Вобщем есть форма и кнопка. надо по нажатию кнопки воспроизвести вав файл. Пишу следующий код в слоте "кнопка была нажата"
void MainWindow::on_pushButton_2_clicked()
{
    QSound::play("/home/fluffy/qt.wav");
}


программа компилируется и запускается, НО по нажатию на клавишу звука не слышно. Почему? и как это исправить?
« Последнее редактирование: 14 Февраль 2011, 02:25:55 от Fluffy1234567890 »

Оффлайн Not eXist

  • Активист
  • *
  • Сообщений: 916
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #1 : 13 Февраль 2011, 22:47:19 »
Не сильно разбираюсь в Qt, но phonon и бэкэнд к нему какой-нибудь установлен?

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #2 : 13 Февраль 2011, 23:26:36 »
Phonon - это библиотека медиа виджетов для Qt Designera? если да, то у себя не обнаружил таких виджетов. Читал на форуме, что можно без этой библиотеки воспроизводить звук именно wav таким способом, как написал выше. А вобще, как на С++ воспроизвести звук в линуксе? в винде по-моему есть функция PlaySound(). Но она использует виндосовские библиотеки. Хотелось бы найти аналог функции и библиотеки и в линуксе.

Оффлайн Чистый

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3474
  • nix - вот оно счастье...
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #3 : 13 Февраль 2011, 23:37:21 »
по идее:
QSound wav("file.wav");
wav.play();
Тестовый репозиторий kdeNeur ppa:devcode/kdeneur
各々が死ぬことをどのように決定する

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #4 : 14 Февраль 2011, 02:03:27 »
Такой вариант тоже пробовал. компилится, запускается, но молчит(
может я что-то не так делаю? Вобщем цель такова: воспроизвести wav файл по нажатии на клавишу на форме (в данном случае pushButton_2)
« Последнее редактирование: 14 Февраль 2011, 02:25:09 от Fluffy1234567890 »

Оффлайн HolyMacaroni

  • Участник
  • *
  • Сообщений: 210
  • мегавольт
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #5 : 14 Февраль 2011, 03:37:07 »
я Phonon использовал, поищите в моих сообщениях, устанавливается с QtCreator.

Asus X50N Ubuntu 10.04

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #6 : 14 Февраль 2011, 13:12:55 »
HolyMacaroni, осилил две Ваши страницы с сообщениями, осталось 17  ;D киньте ссылку, если не сложно, что читать.

Пользователь решил продолжить мысль 14 Февраль 2011, 13:20:07:
нашел.
#include <QApplication>
#include <phonon>
#include <QtGui>
 
// ----------------------------------------------------------------------
int main(int argc, char** argv)
{
    QApplication        app(argc, argv);
    app.setApplicationName("SimplePlayer");
    Phonon::MediaObject media;
    Phonon::AudioOutput ao(Phonon::MusicCategory);
 
    Phonon::createPath(&media, &ao);
 
    QObject::connect(&media, SIGNAL(finished()), &app, SLOT(quit()));
    media.setCurrentSource(Phonon::MediaSource("music/Morcheeba.ogg"));
 
    QStringList MetaData = media.metaData("ARTIST");
               MetaData = media.metaData("ALBUM");
               MetaData = media.metaData("TITLE");
               MetaData = media.metaData("DATE");
 
 
    QLabel lbl(MetaData.join(" "));
    lbl.show();
 
    media.play();
 
 
    return app.exec();
}

если не сложно, расскажите какой виджет использовали для воспроизведения аудио файла. И приведите пример воспроизведения файла по событию "нажал на кнопку". Я новичек в С++ и в Qt тем более.
« Последнее редактирование: 14 Февраль 2011, 13:33:43 от Fluffy1234567890 »

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 4996
  • Все по палатам!
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #7 : 14 Февраль 2011, 13:38:50 »
приведите пример воспроизведения файла по событию "нажал на кнопку".
Цитировать
Может, для начала, по нажанию на кнопку вызвать команду "playsound /путь/../имя.wav"
Извините, я все еще учусь

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #8 : 14 Февраль 2011, 19:45:51 »
какую библиотеку надо подключить для этой функции?

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 4996
  • Все по палатам!
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #9 : 14 Февраль 2011, 19:50:04 »
Из консоли
man system
и почитайте  ;)
Извините, я все еще учусь

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #10 : 14 Февраль 2011, 20:33:43 »
подключил библиотеку stdlib.h, но функции playsound там нет.

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 4996
  • Все по палатам!
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #11 : 14 Февраль 2011, 20:53:54 »
Из консоли
man playsound
и почитайте.
А вызов будет
system ("playsound /дир/../что_играть.wav");
Извините, я все еще учусь

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #12 : 14 Февраль 2011, 21:01:40 »
страницы МАН для плейсоунда нету. программу скомпилил. но при нажатии на кнопку мою выводит sh: playsound: not found

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 4996
  • Все по палатам!
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #13 : 14 Февраль 2011, 21:10:16 »
Странно - у меня есть. Но в репах (10.04) не нашел :-\. Можно поставить splay.
Извините, я все еще учусь

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: Qt: не воспроизводит wav файл
« Ответ #14 : 14 Февраль 2011, 21:18:40 »
я тоже вот в синаптике искал - нету. а если поставлю splay, то смысл тот же остается? то есть system ("splay /дир/../что_играть.wav");?

Пользователь решил продолжить мысль 14 Февраль 2011, 21:25:58:
я так понял, то, что Вы советуете - консольный плеер. а функция system() в программе вызывает приложения из окружения GNOME/KDE?
« Последнее редактирование: 14 Февраль 2011, 21:25:58 от Fluffy1234567890 »

 

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