目前我有的代码可以成功地播放 .mp3 文件中的数据。然而,我需要使用 QtCore.QBuffer 来播放同样的数据(不从文件中读取)。当我使用文档中的示例时,它会出现意外类型的 QBuffer 错误!然而... 根据文档,这就是它应该看到的。
但是... 它会抛出以下错误:
TypeError: Phonon.MediaObject.setCurrentSource(Phonon.MediaSource): argument 1 has unexpected type '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 擦除屏幕 ;-)
ASSERT:"d->connected" in file /builddir/build/BUILD/phonon-4.5.1/phonon/streaminterface.cpp, line xxxx
注:TrackData 包含 MP3 数据,并在我将其写入文件并将其作为资源提供给 mediaObject.setCurrentSource(Phonon.MediaSource()) 使用时播放正常。我还尝试过 QByteArray,但会导致相同的 "unexpected QBuffer" 错误。更精确地说,我提供给 setCurrentSource 的所有内容都不被接受。尝试了字符串(出现意外类型的 String 错误),尝试了 QBuffer(出现意外类型的 QBuffer 错误),尝试了 QByteArray(出现意外类型的 QByteArray 错误)。
顺便说一下,我在 Linux 上运行 Qt、PyQt。有什么想法吗?
但是... 它会抛出以下错误:
TypeError: Phonon.MediaObject.setCurrentSource(Phonon.MediaSource): argument 1 has unexpected type '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 擦除屏幕 ;-)
ASSERT:"d->connected" in file /builddir/build/BUILD/phonon-4.5.1/phonon/streaminterface.cpp, line xxxx
注:TrackData 包含 MP3 数据,并在我将其写入文件并将其作为资源提供给 mediaObject.setCurrentSource(Phonon.MediaSource()) 使用时播放正常。我还尝试过 QByteArray,但会导致相同的 "unexpected QBuffer" 错误。更精确地说,我提供给 setCurrentSource 的所有内容都不被接受。尝试了字符串(出现意外类型的 String 错误),尝试了 QBuffer(出现意外类型的 QBuffer 错误),尝试了 QByteArray(出现意外类型的 QByteArray 错误)。
顺便说一下,我在 Linux 上运行 Qt、PyQt。有什么想法吗?