我使用Qt Designer创建了一个UI,并在pyqt4c中构建逻辑。当尝试播放视频或音频时,大多数格式都不受支持,尽管我相当确定它们应该是。
这是Phonon.BackendCapabilities.availableMimeTypes()
输出:
application/kate
application/ogg
application/x-3gp
application/x-ogg-avi
application/x-ogm-audio
application/x-ogm-video
audio/mpeg
audio/ogg
audio/webm
audio/x-alaw
audio/x-amr-nb-sh
audio/x-amr-wb-sh
audio/x-au
audio/x-dts
audio/x-flac
audio/x-m4a
audio/x-matroska
audio/x-mulaw
audio/x-private1-dts
audio/x-sbc
audio/x-speex
audio/x-vorbis
audio/x-vorbis+ogg
audio/x-wav
audio/x-wavpack
multipart/x-mixed-replace
video/mj2
video/ogg
video/quicktime
video/webm
video/x-dv
video/x-fli
video/x-flv
video/x-matroska
video/x-matroska-3d
video/x-msvideo
video/x-theora
video/x-vp8
video/x-vp9
我检查了一下,在/usr/share/mime
中:我有大量的编解码器,我可以在任何播放器中播放任何视频/音频格式:vlc、dragonplayer、mlv、mplayer等。
如何扩展可用的编解码器?我是不是应该在恐惧症课上加一条路?
当前运行的phonon后端负责格式支持。您可以切换到其他MimeTypes/formats以获得其他支持。
请阅读以下内容以获得更全面的解释。
示例程序:
from PyQt4.QtGui import QApplication
from PyQt4.phonon import Phonon
import sys
app = QApplication(sys.argv)
print len(Phonon.BackendCapabilities.availableMimeTypes())
在KDE System settings -> Multimedia -> Audio and Video Settings -> Backend
中,我选择了"VLC"。运行以上操作将生成89
。回到后端配置,选择"GStreamer"并再次运行脚本,输出213
。这意味着GStreamer后端比VLC后端支持更多MimeTypes。不幸的是,Phonon的后端是系统范围的,您不能为单个应用程序覆盖它,或者至少我无法通过查看Phonon类来了解如何覆盖它。
-------------------------我的解决方案-------------------------
由于Phonon利用了您的系统功能,因此您可以自行安装库来对媒体进行编码和解码。然而,我没有意识到安装phonon-qt4兼容库的必要性。因此:
使用qt4安装:
声子-qt4-vlc
phonon-qt4-播放器(未经管理,因此可能已过时)
使用qt5:
声子-qt5-vlc(等)
如果有人有类似的问题,但这不起作用,请随意在这里发布!