gpt4 book ai didi

python - PyQt Phonon 后端音频效果 'speed' 的文档

转载 作者:行者123 更新时间:2023-11-30 23:51:56 25 4
gpt4 key购买 nike

当我查看函数的输出时

Phonon.BackendCapabilities.availableAudioEffects()

我将此作为选项之一:

>>> speed_effect = Phonon.BackendCapabilities.availableAudioEffects()[3]
>>> speed_effect.name()
PyQt4.QtCore.QString(u'speed')
>>> speed_effect.__doc__
'Phonon.EffectDescription()\nPhonon.EffectDescription(int, dict-of-QByteArray-QVariant)\nPhonon.EffectDescription(Phonon.EffectDescription)'

我知道我需要将此效果插入到连接到我的音频源文件的路径中,并且实现并不困难。我不明白的是如何访问选项或这种“速度”效果的功能是什么。如何通过Python接口(interface)访问它?我可以指定播放速率(例如 2x、4x 等,将速度加倍或四倍)作为此选项吗?

最佳答案

好吧,没有太多人在看这个,所以我继续前进,终于弄清楚了。请注意,所有这些都是特定于我的特定后端媒体播放器 gs​​treamer(用于 Phonon)的。如果您有不同的后端,则需要进行一些修改才能查看需要使用哪些效果。

其工作原理是,您可以通过调用该函数来查看 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 的数据类型来完成。为了使音频速度加倍,我称之为:

 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 倍。

我希望这可以帮助一些使用 gstreamer 改变音频速度的 Python 用户。

关于python - PyQt Phonon 后端音频效果 'speed' 的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com