2017-07-17 63 views
0

我正在使用MediaListPlayer实例来执行播放列表。在标准MediaPlayer实例上,您可以使用MediaPlayer.audio_set_volume(newVolume),但是当我尝试在MediaListPLayer实例上使用相同方法(audio_set_volume(newVolume))时,出现错误。: AtributeError: 'MediaListPLayer' object has no attribute 'audio_set_volume'MediaListPlayer的替换方法是什么?如何使用LibVLC更改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) 
+0

看起来像一个疏忽。我无法找到更改当前音量或重新设置默认音量的方法。 :( –

回答

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所以有人用这些东西更深入的了解可能会提供更好的解决方案。如果我得到答案,我会在这里发布。

+0

好的,我会等的,谢谢!我觉得有点奇怪,List Player没有音量调节器,你能在那里给你的问题提供链接吗? – Mikael

相关问题