Ну, не слишком много людей смотрели на это, поэтому я продолжал и наконец понял это.Обратите внимание, что все это относится к моему конкретному медиаплееру gstreamer для Phonon.Если у вас другой бэкэнд, вам нужно будет немного поработать, чтобы увидеть, с какими эффектами вам нужно поиграться.
Способ, которым это работает, заключается в том, что вы можете видеть имена и описания вашего Phonon.Effect () опций путем вызова функции
from PyQt4 import QtGui, QtCore
from PyQt4.phonon import Phonon
list_of_backend_audio_effects = Phonon.BackendCapabilities.availableAudioEffects()
После этого я выяснил, какой из доступных эффектов был опцией gstreamer 'speed', выполнив следующее:
list_of_effect_names = [str(elem.name()) for elem in list_of_backend_audio_effects]
for iter in range(len(list_of_effect_names)):
if list_of_effect_names[iter] == 'speed':
effect_index = iter
break
Наконец, вынужно на самом деле редактировать параметры, что должно быть сделано путем прохождения типа данных, называемого QVariant.Чтобы удвоить скорость звука, вот что я назвал:
speed_effect = Phonon.Effect(list_of_backend_audio_effects[effect_index])
speed_effect.setParameterValue(speed_effect.parameters()[0],QtCore.QVariant(str(2)))
В первой строке я создаю новый Phonon.Effect (), который принимает описание эффекта в качестве входных данных (вещи, возвращаемыевызовите availableAudioEffects ()).Затем я установил параметр этого объекта эффекта (первый аргумент), чтобы получить значение QVariant '2' (второй аргумент).В моей системе скорость по умолчанию равна «1», минимальное значение равно «0,1», а максимальное значение равно «40», что соответствует диапазонам скоростей от одной десятой до 40-кратной скорости, с которой кодируется обычный аудиофайл.
Надеюсь, это поможет некоторым пользователям Python с gstreamer изменить скорость звука.