如何使用libvlc为视频播放器添加额外的音频曲目

2024-10-17 00:29:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找通过python3.8使用vlc播放器播放视频。我可以播放电影(mp4),但我想添加其他音频曲目。我读到“添加从属”方法是一种(新)方法,但我无法正确使用它:我无法添加字幕或音轨

总结一下:我想用Python实现以下目标: https://wiki.videolan.org/VLC_HowTo/Play_an_external_audio_track_for_a_video

我的当前(非工作)代码段:

import vlc

base_path = r"Z:/test/libvlc/"
video_file = base_path + "original.mp4"
audio_file = base_path + "2xlcDLHY7k0-instru+vocal_stereo.wav"
sub_file = base_path + "word.ass"

Instance = vlc.Instance()
player = Instance.media_player_new()
Media = Instance.media_new(video_file)
AdditionalTrack = player.add_slave(player, audio_file, True, i_type="audio")
Sub = player.add_slave(player,sub_file, True)
player.set_media(Media)

while True:
    player.play()

我在这里找到了“添加从属”功能的文档: https://www.olivieraubert.net/vlc/python-ctypes/doc/ 但是我不能正确地使用它

libvlc_媒体_从属_添加(p_md,i_类型,i_优先级,psz_uri)将从属设备添加到当前媒体。从机是一种外部输入源,可能包含附加的字幕音轨(如.srt)或附加的音频音轨(如.ac3)。 参数:p_md-媒体描述符对象。i_类型-字幕或音频。i_优先级-从0(低优先级)到4(高优先级)。psz_uri-从机的uri(应包含有效的方案)

如果有人知道如何添加字幕或附加音轨, 如果他能建议我如何

非常感谢


Tags: pathinstancetruebasevideouri音频media
1条回答
网友
1楼 · 发布于 2024-10-17 00:29:45

请改用此代码

AdditionalTrack = player.add_slave(player, audio_file, True, i_type=vlc.MediaSlaveType(1))

i-type参数不是字符串类型

相关问题 更多 >