Я использую vlc в python для небольшого интернет-радиоплеера. У меня проблема, когда я пытаюсь установить эквалайзер для вывода звука
Instance = vlc.Instance()
player = Instance.media_player_new()
radiourl = radios[0][1] # setting the radio streaming url
Media = Instance.media_new(radiourl)
player.set_media(Media)
player.audio_set_volume(playvol)
# Create a new equalizer and manually set the gain for each frequency band
equalizer = vlc.AudioEqualizer()
equalizer.set_amp_at_index(0, 0) # 60 Hz
equalizer.set_amp_at_index(1, 0) # 170 Hz
equalizer.set_amp_at_index(2, 0) # 310 Hz
equalizer.set_amp_at_index(3, 0) # 600 Hz
equalizer.set_amp_at_index(4, 0) # 1 kHz
equalizer.set_amp_at_index(5, 0) # 3 kHz
equalizer.set_amp_at_index(6, 0) # 6 kHz
equalizer.set_amp_at_index(7, 0) # 12 kHz
# Set the equalizer for the audio output
player.audio_set_equalizer(equalizer)
`
я продолжаю получать следующее сообщение об ошибке
AttributeError: объект «MediaPlayer» не имеет атрибута «audio_set_equalizer»
Я попытался посмотреть вики Olivier Aubert для vlc, но, будучи относительно новым для python, я просто не понимаю, как это исправить.
Я уверен, что неправильно устанавливаю эквалайзер, но, как я уже сказал, будучи начинающим программистом в Python, я понятия не имею, почему audio_set_equalizer не является допустимым объектом для vlc.instance.
Заранее спасибо!
Вы правы, извините. Я использую версию модуля Python 3.9.4 и VLC: 3.0.16120.
Глядя на этот список идентификаторов , не похоже, что для класса audio_set_equalizer
существует MediaPlayer
метод.
Возможно, вы ищете это вместо этого?
Попробуйте изменить свой код на это:
# Set the equalizer for the audio output
player.set_equalizer(equalizer)
Вы совершенно правы! Это работает, спасибо! Мне еще долго учиться :-(
Пожалуйста, не забудьте объяснить, какие пакеты вы используете. И не только по имени, но и с указанием того, откуда вы их установили.