C++ Phonon::MediaSource,不能将资源用作媒体源

C++ Phonon::MediaSource,不能将资源用作媒体源,c++,qt,phonon,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 4.6中,我试图访问QResource文件中的wav文件以用作媒体播放器的媒体源,但该文件不起作用:

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

如果我使用直接路径,它就会工作。我已经成功地在我的程序的其他部分使用了资源,因此那里似乎没有问题,Qt文档说我可以使用QResource进行这种类型的操作。这是一个bug还是我遗漏了什么?

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

  {
        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);
    }

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

  {
        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);
    }