2011-11-29 36 views
1

在手机应用WAV,我需要发挥嵌入在数据文件中的声音文件(MP3或WAV)。的Qt:音频流的MP3 /嵌入在数据文件

目前我需要将文件提取到SDCARD,它很慢。

但是,在Android中,我可以在不提取数据文件的情况下播放它。

大约2年前我向Qt团队要求了这个功能,但似乎这个功能仍然不可用。

我想我应该从数据文件做一些流,但缺乏知识。任何人都有一些代码来启发我?

+0

对于我们这些不做移动Qt的人...您目前使用什么来播放文件?只是QSound?您的手机会被分类为“Symbian”版本吗? http://doc.qt.nokia.com/latest/qsound.html – HostileFork

+0

嗨,我目前使用QMediaPlayer(需要QtMobility的我认为)播放MP3/WAV文件。主要目标是Symbian,但它目前也在N900上运行。 – xuxiang

回答

0

其实我不使用Qt针对移动应用开发,但我认为你可以嵌入音频文件转化为资源,然后只是声子模块进行播放。示例如何在简单的控制台应用程序中执行此操作如下(“:/fileName.mp3”是资源文件中音频的路径)。 Phonon是一个跨平台的多媒体框架,您也可以在移动平台上获得资源。

#include <QtCore/QCoreApplication> 
#include <phonon> 

using namespace Phonon; 

int main(int argc, char *argv[]) 
{ 
    QCoreApplication a(argc, argv); 

    MediaObject *music = 
    createPlayer(MusicCategory,MediaSource(":/fileName.mp3")); 
    music->play(); 

    return 0; 
} 
+0

嗨,感谢您的建议,但我不能这样做,因为我需要读取由第三方应用程序创建的多媒体数据文件。 – xuxiang