2013-08-22 6 views
1

Я пытаюсь установить громкость во время воспроизведения аудиофайла, но он не работает вообще. Пожалуйста, что я делаю неправильно?libvlc - Как изменить громкость во время воспроизведения

# create a vlc playable object from source 
self.playable = vlc.libvlc_media_new_path(self.instance, sourceURL) 


# create a new vlc player 
self.player = vlc.libvlc_media_player_new_from_media(self.playable) 

# play 
vlc.libvlc_media_player_play(self.player) 

while not self.stop: 
sleep(10)        # sleep for a while to allow playback 
self.player.audio_set_volume(50)  # suppose to reduce volume. Doesn't work 
sleep(10)        # sleep for a while to allow playback 
self.stop = True 
+0

Вы уверены, что это не сработало? Что вы пытаетесь выполнить, продолжайте устанавливать том на тот же уровень? в петле ..? –

+0

О, Извините, цикл фактически останавливается, когда для флага установлено значение true. Я не включил это. – Kennedy

+0

Это даже не имеет смысла :-) –

ответ

1

UPDATE попробуйте следующее:

self.instance = vlc.Instance() 
self.mediaplayer = self.instance.media_player_new() 
self.media = self.instance.media_new(unicode(sourceURL)) 
self.mediaplayer.set_media(self.media) 
self.media.parse() 

while True : 
    sleep(10) 
    self.mediaplayer.audio_set_volume(50) 

Example usage

Имейте в виду, что volume_level является целым числом от 0 до 100, 100 будет равна 0 дБ.

Сделано большое редактирование, потому что я думаю, что изначально неправильно понял. Работает ли видеовыход для вас?

+0

Спасибо за ваш ответ, но он все еще не решает проблему. Я даже установил уровень громкости на 0 и все еще слышал звук воспроизведения – Kennedy

+0

, функция libvlc_audio_set_volume возвращает значение. -1 по ошибке, 0 при успехе. Можете ли вы проверить это значение? a la code = libvlc_audio_set_volume (...) – beiller

+0

0 (успех) был возвращен – Kennedy

Смежные вопросы