我使用addEventListener
实例来执行播放列表。在标准的MediaListPlayer
实例上,您可以使用MediaPlayer
,但是当我尝试在MediaPlayer.audio_set_volume(newVolume)
实例上使用相同的方法(audio_set_volume(newVolume)
)时,会出现错误:
MediaListPLayer
。 AtributeError: 'MediaListPLayer' object has no attribute 'audio_set_volume'
的替代方法是什么?
这是代码:
MediaListPlayer
答案 0 :(得分:1)
两年后,我想知道同一件事。所以这是一个对我有用的解决方案:
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()返回MediaPlayer,可用于控制播放期间MediaListPlayer的音量。
答案 1 :(得分:0)
正如我在评论中所说,这看起来像是一种疏忽 但是,我已经设法通过黑客攻击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)
我在videolan上发布了一个问题https://forum.videolan.org/viewtopic.php?f=32&t=139505,所以对这些事情有更多了解的人可能会提供更好的解决方案。如果我得到答案,我会在这里发布。