声子后端功能太窄了

时间:2015-02-16 12:02:34

标签: python qt pyqt4 phonon

我使用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类添加任何路径吗?

2 个答案:

答案 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 (等)

如果有人有类似的问题,这不起作用随时发布在这里!