如何使用 LibVLC 更改 MediaListPlayer 中的播放音量?

How to change the volume of playback in MediaListPlayer with LibVLC?

我正在使用 MediaListPlayer 实例来执行播放列表。在标准 MediaPlayer 实例上,您可以使用 MediaPlayer.audio_set_volume(newVolume),但是当我尝试在 MediaListPLayer 实例上使用相同的方法(audio_set_volume(newVolume))时,出现错误。: AtributeError: 'MediaListPLayer' object has no attribute 'audio_set_volume'MediaListPlayer 的该方法的替代方法是什么?

这是代码:

from vlc import Instance

playlist = ['/home/user/Music/01 Signs.mp3','/home/user/Music/2U.mp3']
player = Instance()
mediaListPlayer = player.media_list_player_new()
mediaList = player.media_list_new()
for element in playlist:
    mediaList.add_media(player.media_new(element))
mediaListPlayer.set_media_list(mediaList)
mediaListPlayer.play()
mediaListPlayer.audio_set_volume(80)

正如我在评论中所说,这看起来确实是一个疏忽。
但是,我已经设法通过破解 sub_player 来设置初始音量,但是一旦它被设置并且你调用列表播放器,之后我还没有找到调整它的方法。

import vlc
import time
playlist=['/home/rolf/vp1.mp3','/home/rolf/vp.mp3']
inst = vlc.Instance()
sub_player = inst.media_player_new()
player = inst.media_list_player_new()
mediaList = inst.media_list_new(playlist)
player.set_media_list(mediaList)
volume = 60
sub_player.audio_set_volume(volume)
sub_player.play()
playing = set([1,2,3,4])
player.play()
while player.get_state() in playing:
    time.sleep(1)

我post在 videolan 上提出了一个问题,https://forum.videolan.org/viewtopic.php?f=32&t=139505 所以对这些事情有更多了解的人可能会提供更好的解决方案。如果我得到答案,我会 post 放在这里。

两年后还在想同样的事情。所以这是一个对我有用的解决方案:

import vlc

inst = vlc.Instance()
player = inst.media_list_player_new()
media_list = inst.media_list_new(["example.mp3"])
player.set_media_list(media_list)
player.play()

player.get_media_player().audio_set_volume(50)

MediaListPlayer.get_media_player() returns MediaPlayer,可用于控制播放时MediaListPlayer的音量