有一个包含两个音频曲目的视频文件:
Duration: 01:05:09.12, start: 0.000000, bitrate: 2781 kb/s
Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x400 [SAR 1:1 DAR 9:5], 1998 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:2: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), fltp, 384 kb/s
使用以下代码进行播放:
self.player = QMediaPlayer()
self.player.setMedia(QMediaContent(QUrl.fromLocalFile(fileName)))
self.player.play()
播放视频和第一首音频曲目。如何切换到第二个音轨
正如@musicamante在评论中指出的,解决方案是访问QMediaStreamsControl,但PyQt5不公开它
相反,PySide2将其公开,解决方案是使用shiboken2进行强制转换:
在pyqt5的情况下,应使用sip和以下代码:
但正如QMediaStreamsControl所指出的,PyQt5中不可用,因此解决方案是公开它,为此,您必须:
在PyQt5源代码的“sip/qtmedia”文件夹中创建文件qmediastreascontrol.sip
qmediastreascontrol.sip
将
%Include qmediastreamscontrol.sip
添加到文件sip/qtmedia/qtmediamod.sip的末尾使用修改后的源代码编译并安装PyQt5
总之:
如果使用pyside2,解决方案很简单
如果使用pyqt5,则必须修改其源代码、编译并安装。希望通过@musicamante报告类QMediaStreamsControl在pyqt5的未来版本中公开
相关问题 更多 >
编程相关推荐