2011-02-28 80 views
1

与QT 4.6,我试图访问一个wav文件在我QResource文件作为一个媒体播放器的媒体源使用,这是行不通的:声子:: MediaSource的,不能使用资源作为媒体源

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

如果我把它的工作直接路径。我在我的程序的其他部分使用资源已经取得了成功,因此在那里似乎没有问题,并且Qt文档说我可以使用QResource进行此类操作。这是一个错误还是我错过了什么?

回答

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); 
    } 
+0

thx!那就是诀窍。好一个。 – 2011-03-07 22:44:49