2012-03-04 104 views
0

我试图在我的Qt桌面应用程序中获得一些音频,但都似乎FUBAR。我试过QSound的,就像这样:Qt和音频播放

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

与声子是这样的:

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)和声子引发此错误:

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

关于如何在我的应用程序中获取声音的任何想法?我可以在我的系统上播放声音,ubuntu 11.10。 我只对midi开放建议,因为如果可能的话,我想集中注意力。

我用Phonon的类似案例阅读,它发生在调试模式,但我想调试。

+0

您是否试过Qt Mobility的QMediaPlayer?它使用GStreamer作为后端,所以如果你可以用这样的gst-launch来播放你的midi文件,那么它可能会在Qt Mobility中起作用: gst-launch playbin2 uri = file:///path/to/audio.mid 你可能需要gst-plugins-bad才能获得midi支持。 – fejd 2012-03-04 20:56:39

+0

我无法在桌面上使用Qt Mobility,对不对? – RobotRock 2012-03-05 10:17:28

+0

Qt Mobility在台式机上受支持,但并未处于积极的发展阶段,请参阅http://doc.qt.nokia.com/qtmobility/index.html#platform-compatibility。 – fejd 2012-03-05 12:43:39

回答

0

我在桌面上使用了QT移动性。