我使用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等。
如何扩展可用的编解码器?我应该为phobos类添加任何路径吗?
答案 0 :(得分:1)
当前运行的声子后端负责格式支持。您可以切换到另一个以获得其他支持的MimeTypes /格式。
请阅读以下内容以获得更全面的解释。
示例程序:
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类型更多的MimeType。不幸的是,Phonon的后端是系统范围的,你不能为一个应用程序覆盖它,或者至少我看不到Phonon类是如何找不到的。
答案 1 :(得分:0)
----------------------------我的解决方案----------------- ----------------
由于Phonon利用了您的系统功能,因此您需要安装库来编码和解码媒体。但是,我没有意识到安装phonon-qt4兼容库的必要性。所以:
使用qt4 install:
声子QT4-VLC
phonon-qt4-mplayer(未管理,因此可能过时)
使用qt5:
声子QT5-VLC (等)
如果有人有类似的问题,这不起作用随时发布在这里!