使用我现在的代码,我可以成功地从文件播放.mp3数据。 但是我需要使用QtCore.QBuffer(不是来自文件)播放相同的数据。 当我使用文档的示例时,它会出现意外的QBuffer类型! 但是......这是它应该看到,根据文档。如何在PyQt Qt环境中使用带声子的QBuffer播放.mp3
但是...............它抛出:
类型错误:Phonon.MediaObject.setCurrentSource(Phonon.MediaSource):参数1具有意想不到类型 'Q缓冲器'
我使用的代码是(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,但是这导致了相同的“意外的QBuffer”错误。为了更准确地给我提供setCurrentSource的一切都不被接受。尝试了一个字符串(错误是一个意外的字符串类型),尝试了一个QBuffer(错误是一个意外的QBuffer类型),尝试了一个QByteArray(错误是一个意外的QByteArray类型)。
BTW:我在Linux上运行Qt,PyQt。
任何想法??
我试过你的示例代码,甚至其他方法,但它仍然无法正常工作。你真的用.mp3数据测试过吗?它播放声音? – thedax 2013-02-14 11:34:28
我做了,我刚刚再次测试。它玩的很好。 – Whatang 2013-02-18 18:08:38