Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2011, 20:55   #1
yandzee
Пользователь
 
Регистрация: 07.12.2010
Сообщений: 13
По умолчанию [Qt][phonon] нет звука

Здравствуйте!
Написал ради теста такую программку:
mediaplayer.h

Код:
#ifndef MEDIAPLAYER_H
#define MEDIAPLAYER_H

#include <QtGui>
#include <phonon/AudioOutput>
#include <phonon/VideoWidget>
#include <phonon/MediaSource>
#include <phonon/Path>
#include <phonon/SeekSlider>
#include <phonon/VolumeSlider>
#include <phonon/MediaObject>
#include <phonon/phonondefs.h>
#include <phonon/MediaNode>
#include <phonon/MediaObject>
#include <phonon/MediaController>

class MediaPlayer : public QWidget
{
    Q_OBJECT
private:
    Phonon::MediaObject *pmedia;
    Phonon::AudioOutput *pao;
    Phonon::VideoWidget *pvideo;

public:
    MediaPlayer(QWidget *parent = 0);
public slots:
    void slotLoad();
};

#endif // MEDIAPLAYER_H
main.cpp

Код:
#include <QtGui>
#include "mediaplayer.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    a.setApplicationName("media");
    MediaPlayer w;
    w.show();

    return a.exec();
}
mediaplayer.cpp

Код:
#include "mediaplayer.h"

MediaPlayer::MediaPlayer(QWidget *parent)
    : QWidget(parent)
{
    pmedia = new Phonon::MediaObject(this);
    pao = new Phonon::AudioOutput(Phonon::MusicCategory, this);

    Phonon::createPath(pmedia, pao);

    QPushButton *play = new QPushButton("Play");
    QPushButton *stop = new QPushButton("Stop");
    QPushButton *pause = new QPushButton("Pause");
    QPushButton *load = new QPushButton("Load");
    Phonon::SeekSlider *pseek = new Phonon::SeekSlider;
    Phonon::VolumeSlider *pvolume = new Phonon::VolumeSlider;

    pseek->setMediaObject(pmedia);
    pvolume->setAudioOutput(pao);

    pvolume->setOrientation(Qt::Horizontal);
    pvolume->setMaximumHeight(30);

    connect(play, SIGNAL(clicked()), pmedia, SLOT(play()));
    connect(stop, SIGNAL(clicked()), pmedia, SLOT(stop()));
    connect(pause, SIGNAL(clicked()), pmedia, SLOT(pause()));
    connect(load, SIGNAL(clicked()), SLOT(slotLoad()));

    QHBoxLayout *playout = new QHBoxLayout;
    playout->addWidget(play);
    playout->addWidget(pause);
    playout->addWidget(stop);
    playout->addWidget(pseek);
    playout->addWidget(load);

    QVBoxLayout *pvlayout = new QVBoxLayout;
    pvlayout->addLayout(playout);
    pvlayout->addWidget(pvolume);
    setLayout(pvlayout);

}
void MediaPlayer::slotLoad()
{
    QString resStr = QFileDialog::getOpenFileName(0, "Load", "", "*.*");
    if(!resStr.isEmpty())
        pmedia->setCurrentSource(Phonon::MediaSource(resStr));
    pmedia->play();
}
Программа запускается и виджет отображается, но звука нет.
Сижу на Arch Linux. QtCreator выдает
Starting /home/ydz/ProjectsQt/MediaPlayer-build-desktop/MediaPlayer...
media(5200) KSambaSharePrivate::findSmbConf: KSambaShare: Could not find smb.conf!
Связано ли это как то с проблемой со звуком? Помогите разобраться, в чем дело.
yandzee вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нет звука Belov03 Компьютерное железо 12 15.09.2010 21:48
Нет звука в OpenSUSE 11.1 alistiev Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 9 26.07.2010 12:08
Нет звука Image Помощь студентам 1 23.09.2008 16:34