python - 声子后端能力太窄

标签 python qt pyqt4 phonon

我使用 Qt Designer 创建了一个 UI,并在 pyqt4c 中构建逻辑。当尝试播放视频或音频时,大多数格式不受支持,尽管我相当确定它们应该受支持。

这是 Phonon.BackendCapability.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类吗?

最佳答案

当前运行的声子后端负责格式支持。您可以切换到其他类型以获得支持的其他 MimeTypes/格式。

阅读下文以获得更全面的解释。

示例程序:

from PyQt4.QtGui import QApplication
from PyQt4.phonon import Phonon
import sys

app = QApplication(sys.argv)

print len(Phonon.BackendCapabilities.availableMimeTypes())

在 KDE 系统设置 -> 多媒体 -> 音频和视频设置 -> 后端 我选择了“VLC”。运行上面的代码会产生 89。返回后端配置,选择“GStreamer”并再次运行脚本输出 213。这意味着 GStreamer 后端支持比 VLC 更多的 MimeType。不幸的是,Phonon 的后端是系统范围的,您无法为单个应用程序覆盖它,或者至少我无法通过查看 Phonon 类来了解如何实现。

关于python - 声子后端能力太窄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28541017/

相关文章:

c++ - Qt 正在获取对 YouTube api 的请求,不支持 utf8 字符

python - PyQt4 用户输入验证 - QlineEdit

python - 使用 PyQt 和 Qthreads 的 GUI 非常缓慢

python - 使用 python 2.7.6/PyQt4 在设置模块中处理 QVariants

c++ - 我是否必须手动删除 QSet 的每个(指针)元素?

Python获取图像矩阵PIL

python - 正则表达式 django url

python - 保护 Flask 上的 POST 请求

python - Qt 设计器创建的 QWidget 未被识别为 QWidget

python - 将 numpy 数组重新排序为新的位长度元素,无需循环