我正在为Symbian开发音乐播放器,需要从手机内存播放原始音频数据(PCM)。 我尝试了QAudioOutput,它工作正常(通过Qbuffer - iherits QIODevice),但它是太多的低级API,因此不适合我。所以我找到了Phonon和QMediaPlayer。 我不能让Phonon既不在我的手机上也不在Windows上工作。但是,在Windows上,我可以播放文件,但不能播放QBuffers ......很奇怪。
但是,现在我想使用QMediaPlayer,但还没有找到一种从内存中播放原始数据的方法。 QMediaContent只有QUrl构造函数。
有没有选择如何在QBuffer,QDataStream,QByteArray上播放QMediaPlayer ......来自内存的任何内容?
任何建议都会很棒,谢谢:)。
答案 0 :(得分:0)
在桌面上我使用普通的GStreamer(没有声子层)从内存中播放。 Phonon后端无法处理来自内存的良好媒体(QIODevice)。来自Qt docs:
警告:在Windows上,我们仅支持包含avi,mp3或mpg格式的QIODevices。使用带文件名的构造函数打开文件(Qt后端内部不使用QFile)。