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

时间:2017-07-17 17:56:18

标签: python python-3.x vlc libvlc

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

这是代码:

MediaListPlayer

2 个答案:

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