Я пытаюсь получить некоторый звук в своем настольном приложении 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, что это происходит в режиме отладки, но я хотел бы отлаживать.
Пробовал ли вы QmediaPlayer Qt Mobility? Он использует GStreamer в качестве backend, поэтому, если вы можете играть в свой midi-файл с помощью gst-запуска, как это, то он, вероятно, будет работать в Qt Mobility: gst-launch playbin2 uri = file: ///path/to/audio.mid You может понадобиться gst-plugins-bad, чтобы получить поддержку midi. – fejd
Я не могу использовать Qt Mobility на рабочем столе, не так ли? – RobotRock
Qt Mobility поддерживается на рабочих столах, но не находится в активной разработке, см. Http://doc.qt.nokia.com/qtmobility/index.html#platform-compatibility. – fejd