使用我现在拥有的代码,我可以成功播放文件中的 .mp3 数据。但是我需要使用 QtCore.QBuffer 播放相同的数据(不是来自文件)。当我使用文档的示例时,它会出错一个意外类型的 QBuffer!但是......根据文档,这就是它应该看到的。
但是......它抛出:
TypeError: Phonon.MediaObject.setCurrentSource(Phonon.MediaSource): 参数 1 具有意外类型“QBuffer”
我使用的代码是(1):
someBuffer = QtCore.QBuffer() someBuffer.writeData(TrackData) mediaObject.setCurrentSource(someBuffer)
我也试过(2):
someBuffer = QtCore.QBuffer() mediaObject.setCurrentSource(someBuffer) someBuffer.writeData(TrackData)
(3):
someBuffer = QtCore.QBuffer() someBuffer.writeData(TrackData) mediaObject.setCurrentSource(Phonon.MediaSource(someBuffer))
最后一个例子 (3) 抛出一个不同的错误并将我的 Gui 从屏幕上擦掉;-)
断言:文件 /builddir/build/BUILD/phonon-4.5.1/phonon/streaminterface.cpp 中的“d->connected”,第 xxxx 行
注意:
TrackData 包含 mp3 数据,并且当我将其写入文件并将其用作 mediaObject.setCurrentSource(Phonon.MediaSource()) 的资源时播放正常“ 错误。更准确地说,我提供的所有内容 setCurrentSource 都不被接受。尝试了一个字符串(错误的意外类型的字符串),尝试了 QBuffer(错误的意外类型的 QBuffer),尝试了 QByteArray(错误的意外类型的 QByteArray)。
顺便说一句:我在 Linux 上运行 Qt、PyQt。
有任何想法吗??