Qt MediaPlayer从记忆中播放音频



我正在为symbian开发音乐播放器,需要从手机内存中播放原始音频数据(PCM)。我尝试了QAudioOutput,它工作得很好(通过Qbuffer继承QIODevice),但它是太多的低级API,因此不适合我。所以我找到了Phonon和QMediaPlayer。我不能让Phonon在我的手机和Windows上工作。然而,在Windows上,我可以播放文件,但不是QBuffers…奇怪。

然而,现在我想使用QMediaPlayer,但还没有找到一种从内存中播放原始数据的方法。qmedicontent只有QUrl构造函数

是否有任何选项如何播放QMediaPlayer从QBuffer, QDataStream, QByteArray…有印象吗?

在桌面上,我使用普通的GStreamer(没有声子层)从内存中播放。声子后端不能很好地处理来自内存的媒体(QIODevice)。来自Qt文档:

警告:在Windows上,我们只支持包含avi, mp3或mpg格式的QIODevices。使用接受文件名的构造函数来打开文件(Qt后端内部不使用QFile)。

最新更新