如何使用 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的音量
我正在使用 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的音量