- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我绝对是一个pyside新手,想用PySide.phonon写一个媒体播放器。我的问题是:媒体播放器可以支持mp4,flv,mkv,eg等媒体格式吗?
最佳答案
回答这个问题的最佳方法是尝试播放您感兴趣的文件类型,或者检查支持的 mimetypes 列表。
这是一个演示视频播放器,您应该可以做到这一点:
from PySide import QtGui, QtCore
from PySide.phonon import Phonon
class Window(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.setWindowTitle('Video Player')
self.media = Phonon.MediaObject(self)
self.video = Phonon.VideoWidget(self)
self.video.setMinimumSize(400, 400)
self.audio = Phonon.AudioOutput(Phonon.VideoCategory, self)
Phonon.createPath(self.media, self.audio)
Phonon.createPath(self.media, self.video)
self.buttonChoose = QtGui.QPushButton('Choose File', self)
self.buttonMimes = QtGui.QPushButton('Show Mimetypes', self)
self.slider = Phonon.VolumeSlider(self)
self.slider.setAudioOutput(self.audio)
layout = QtGui.QGridLayout(self)
layout.addWidget(self.video, 0, 0, 1, 2)
layout.addWidget(self.buttonChoose, 1, 0)
layout.addWidget(self.buttonMimes, 1, 1)
layout.addWidget(self.slider, 2, 0, 1, 2)
layout.setRowStretch(0, 1)
self.media.stateChanged.connect(self.handleStateChanged)
self.buttonChoose.clicked.connect(self.handleButtonChoose)
self.buttonMimes.clicked.connect(self.handleButtonMimes)
def handleButtonChoose(self):
if self.media.state() == Phonon.PlayingState:
self.media.stop()
else:
dialog = QtGui.QFileDialog(self)
dialog.setFileMode(QtGui.QFileDialog.ExistingFile)
if dialog.exec_() == QtGui.QDialog.Accepted:
path = dialog.selectedFiles()[0]
self.media.setCurrentSource(Phonon.MediaSource(path))
self.media.play()
dialog.deleteLater()
def handleButtonMimes(self):
dialog = MimeDialog(self)
dialog.exec_()
def handleStateChanged(self, newstate, oldstate):
if newstate == Phonon.PlayingState:
self.buttonChoose.setText('Stop')
elif (newstate != Phonon.LoadingState and
newstate != Phonon.BufferingState):
self.buttonChoose.setText('Choose File')
if newstate == Phonon.ErrorState:
source = self.media.currentSource().fileName()
print ('ERROR: could not play: %s' % source)
print (' %s' % self.media.errorString())
class MimeDialog(QtGui.QDialog):
def __init__(self, parent):
QtGui.QDialog.__init__(self, parent)
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
self.setWindowTitle('Mimetypes')
listbox = QtGui.QListWidget(self)
listbox.setSortingEnabled(True)
backend = Phonon.BackendCapabilities
listbox.addItems(backend.availableMimeTypes())
layout = QtGui.QVBoxLayout(self)
layout.addWidget(listbox)
self.resize(300, 500)
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
app.setApplicationName('Phonon Player')
window = Window()
window.show()
sys.exit(app.exec_())
关于PySide.phonon 和媒体格式,如 mp4、flv、mkv、eg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12192684/
考虑以下代码。 class MainWindow { // ... Phonon::MediaObject media; Phonon::AudioOutput audio_o
Qt/KDE 的 Phonon 媒体框架抽象首先实现了播放。它能做更复杂的事情吗? 最佳答案 Phonon 在其当前状态下仅支持播放。不过,Qt 团队希望在未来添加捕获: Phonon and its
我已经在这里问过一个类似的问题: Python open raw audio data file 现在我想用 QtPhonon 打开和播放原始音频文件。 主要目标是打开文件并播放文件中的某个位置,例如
当我尝试运行 Qt::Phonon::VideoPlayer 演示代码时,我遇到了一个奇怪的错误。声音播放良好时,视频未呈现。怎么了? 这是我的代码: if (ui->widget) { Ph
我正在编写一个用于视听实验的程序,它将向实验对象呈现一个预先生成的纯音频和视频音频刺激列表。我决定为此使用 PyQT 和 Phonon,尽管事实上我对编写基于 QT 的程序(以及一般的 GUI 编程)
使用 QT 4.6,我试图访问我的 QResource 文件中的 wav 文件以用作媒体播放器的媒体源,但它不起作用: Phonon::MediaObject *music; music=Phono
我已经在ubuntu上安装了pyqt4。现在我的项目需要 pyqt4-phonon 模块。我尝试了以下从互联网上获得的方法: sudo apt-get install Python-qt4-phono
我正在用 PyQt4 制作一个音乐播放器,我正在使用 Phonon 来播放音乐本身。此应用程序主要针对 Windows,但我计划也支持 Mac 和 Linux 版本。我想知道 Phonon 支持哪些音
我们正在开发一个基于 Qt 的应用程序,其中包括使用 Phonon 的视频播放。我们使用 MJPEG 压缩的 .avi 文件(因为我们需要快速搜索特定帧)。 在开发机器(运行 Windows 7)上一
我遇到了 Phonon VideoPlayer 的问题,我找不到答案。 我将其归结为以下简单示例: from PyQt4.phonon import Phonon from PyQt4 import
我正在使用Phonon制作一个混合应用程序。这是我第一次使用这个框架。 我正在查看 side panels 的文档我看到一个名为 data-page 的属性,它设置哪个页面可以调用该面板。 如果我想要
我想播放一些 WAV 文件,但我在 Visual Studio 中遇到错误 C2664: error C2664: 'Phonon::MediaObject::setCurrentSource' :
我正在 Windows 7/Windows 8 64 位上使用 PySide GUI 框架、Python 2.7 开发一个应用程序(PySide 和 Python 都是 32 位)。 我制作了一个使用
为了从声子媒体对象中抓取帧,我已经工作了几天。我的目标是以用户指定的某个时间间隔捕获帧。我首先尝试为与 Phonon::MediaObject 关联的滴答信号实现一个插槽。但是,由于滴答信号是在第
有谁知道QtWebKit的视频播放状态是什么?根据这些发行说明:http://trac.webkit.org/wiki/QtWebKit ,似乎支持播放(在诺基亚手机上?)......我让它在 Win
我正在尝试从 python 2.7 运行需要声子的东西,它要求 from PyQt4.phonon import Phonon 运行时,我收到一条错误消息,提示没有名为 phonon 的模块。我已经通
我正在尝试让音频文件与声子交叉淡入淡出。我正在使用 PyQT4。我的轨道已正确排队,但我被淡入淡出效果所困扰。我想我需要使用 KVolumeFader 效果。这是我当前的代码: def music_p
当我查看函数的输出时 Phonon.BackendCapabilities.availableAudioEffects() 我将此作为选项之一: >>> speed_effect = Phonon.B
我正在尝试在 Windows 上使用 QT 和 Phonon 编写一个非常简单的视频播放器。我的后端是 phonon_ds94。首先,这是我点击“播放”时的代码: if (!this->_files.
由于在 Windows 上依赖于 DirectShow,是否可以在我的应用程序中使用静态 Qt? 最佳答案 如果您静态链接 Qt 并想要分发您的应用程序,您很可能需要商业许可证。 LGPL 许可(免费
我是一名优秀的程序员,十分优秀!