Russian Qt Forum

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



Название: Phonon. Воспроизведение.
Отправлено: jacuba от Март 16, 2011, 10:14
Добрый день.
Возникла следующая проблема.

При написании следующего кода в main.cpp, заданная мелодия проигрывается при запуске приложения:

main.cpp
Код:
QMainWindow *window = new QMainWindow;
    Phonon::MediaObject object;
    Phonon::AudioOutput output;

    output.setVolume(0.5);
    QString str("stan.mp3");
    object.setCurrentSource(str);
    Phonon::createPath(&object,&output);
    object.play();

    window->show();
    return app.exec();

При проделывании такой же операции, но в mainwindow.cpp музыка не играет:

mainwindow.cpp
Код:
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    Phonon::MediaObject object;
    Phonon::AudioOutput output;

    output.setVolume(0.5);
    QString music("stan.mp3");
    object.setCurrentSource(music);
    Phonon::createPath(&object,&output);
    object.play();
}

main.cpp
Код:
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    MainWindow window;
    window.show();
    return app.exec();
}

Прошу у вас помощи, уважаемые.


Название: Re: Phonon. Воспроизведение.
Отправлено: Ubuntu_linux от Март 16, 2011, 10:28
Попрлбуй обявить обекты командой new.


Название: Re: Phonon. Воспроизведение.
Отправлено: jacuba от Март 16, 2011, 10:34
Код:
Phonon::MediaObject *object;
Phonon::AudioOutput *output;

output = new Phonon::AudioOutput(Phonon::MusicCategory, this);
object = new Phonon::MediaObject(this);

Задача решена, Ubuntu_Linux, Спасибо большое