Phonon :: MediaSource,不能使用资源作为媒体源

时间:2011-02-28 23:47:41

标签: c++ qt phonon

使用QT 4.6,我试图访问我的QResource文件中的wav文件,以用作媒体播放器的媒体源,但它不起作用:

Phonon::MediaObject *music;  
music=Phonon::createPlayer(Phonon::MusicCategory,Phonon::MediaSource(:/FPS_sounds/arming.wav));  
music->play();

如果我把直接路径运行起来。我已经成功地在我的程序的其他部分使用资源,所以那里似乎没有问题,Qt doc说我可以使用QResource进行这种类型的操作。这是一个错误还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

这个也给了我一个很好的划痕。 但是,看,它可以使用临时文件轻松实现:

  {
        QTemporaryFile f;
        f.open(); 
        QResource res(":/badger");
        f.write((char*)res.data(),res.size());
        f.flush();
        f.setAutoRemove(true);
        f.close();
        QString fn = f.fileName();
        QSound::play(fn);
    }