さて、あまり多くの人がこれを見ていなかったので、私は続けて、最終的にそれを理解しました。これはすべて、フォノン用の私の特定のバックエンドメディアプレーヤーであるgstreamerに固有のものであることに注意してください。別のバックエンドを使用している場合は、いじくり回して、どのような効果を試してみる必要があるかを確認する必要があります。
これが機能する方法は、関数を呼び出すことでPhonon.Effect()オプションの名前と説明を確認できることです。
from PyQt4 import QtGui, QtCore
from PyQt4.phonon import Phonon
list_of_backend_audio_effects = Phonon.BackendCapabilities.availableAudioEffects()
この後、次のようにして、使用可能なエフェクトのどれがgstreamerオプションの「速度」であるかを判断しました。
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と呼ばれるデータ型を使用して行う必要があります。オーディオの速度を2倍にするために、これが私が呼んだものです:
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」(2番目の引数)を取得します。私のシステムでは、デフォルトの速度は「1」、最小は「0.1」、最大は「40」です。これは、通常のオーディオファイルがエンコードする速度の10分の1から40倍の速度範囲を表します。
これが、gstreamerを使用する一部のPythonユーザーがオーディオの速度を変更するのに役立つことを願っています。