2012-03-04 4 views
0

Я пытаюсь получить некоторый звук в своем настольном приложении Qt, однако все кажется FUBAR. Я попытался QSound, как это:Qt и воспроизведение звука

QSound *sound=new QSound("/home/kajos/Projects/Flatland-build-desktop/mario.wav", this); 
sound->setLoops(3); 
sound->play(); 

и Phonon, как это:

QFile file("mario.mp3"); 
if (!file.open(QIODevice::ReadOnly)) { 
    qDebug("Music not found"); 
} else { 
    Phonon::MediaObject *mediaObject = Phonon::createPlayer(Phonon::MusicCategory); 

    mediaObject->setCurrentSource(Phonon::MediaSource(&file)); 
    mediaObject->play(); 
} 

QSound ничего (с середины, MP3, WAV) не делать и Phonon выдает эту ошибку:

ASSERT: "d->connected" in file ../../phonon/streaminterface.cpp, line 89 
The program has unexpectedly finished. 

Любая идея о том, как получить звук в моем приложении? Я могу воспроизводить звуки в моей системе, ubuntu 11.10. Я открыт только для midi, потому что это то, на что я хотел бы сосредоточиться, если это возможно.

Я читал в аналогичном случае с Phonon, что это происходит в режиме отладки, но я хотел бы отлаживать.

+0

Пробовал ли вы QmediaPlayer Qt Mobility? Он использует GStreamer в качестве backend, поэтому, если вы можете играть в свой midi-файл с помощью gst-запуска, как это, то он, вероятно, будет работать в Qt Mobility: gst-launch playbin2 uri = file: ///path/to/audio.mid You может понадобиться gst-plugins-bad, чтобы получить поддержку midi. – fejd

+0

Я не могу использовать Qt Mobility на рабочем столе, не так ли? – RobotRock

+0

Qt Mobility поддерживается на рабочих столах, но не находится в активной разработке, см. Http://doc.qt.nokia.com/qtmobility/index.html#platform-compatibility. – fejd

ответ

0

Я использовал мобильность QT для рабочего стола.

Смежные вопросы