Ошибка availableAudioEffects () при попытке воспроизвести звук с разной скоростью в Phonon - PullRequest
0 голосов
/ 29 июня 2011

Я пытаюсь выяснить, как воспроизводить звук на разных скоростях с помощью Phonon в Ubuntu.Моей первой мыслью было изучить, какие опции доступны при вызове функции:

 Phonon.BackendCapabilities.availableAudioEffects()

Однако вот что происходит, когда я импортирую PyQt и Phonon, а затем выполняю этот вызов функции:

 ely@zaffpants:~/Desktop$ python2.6
 Python 2.6.6 
 [GCC 4.5.2] on linux2
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import PyQt4; from PyQt4.phonon import Phonon
 >>> print Phonon.BackendCapabilities
 <class 'PyQt4.phonon.BackendCapabilities'>
 >>> print Phonon.BackendCapabilities.availableAudioEffects()
 WARNING: Phonon needs QCoreApplication::applicationName to be set to export audio output names through the DBUS interface 
 ASSERT: "QCoreApplication::instance()" in file ../../phonon/factory.cpp, line 378
 Aborted
 ely@zaffpants:~/Desktop$ 

Я не могу найти хороших тем на этом сайте.Почему это прерывается?Также обратите внимание, что в моей текущей программе я уже использую Phonon для одновременного воспроизведения нескольких аудиопотоков и даже связал его с потоком Qt, который управляет пользовательским видеоплеером (не в Phonon), чтобы синхронизировать звук, даже когда пользовательтянет быстрее через видео.Таким образом, Phonon должен быть установлен правильно, чтобы работать до этой степени, и я уже использовал некоторые возможности бэкэнда.Почему прерывание, когда я спрашиваю, какие есть внутренние эффекты?

Есть предложения?И даже если они не исправят эту ошибку, есть ли какие-либо предложения о том, как заставить Phonon воспроизводить аудиофайл быстрее или медленнее, чем обычно?

Добавлено

Я решил проблему с прерыванием, выполнив следующее: после импорта PyQt и Phonon я создал фиктивную QApplication и дал ей имя, как показано ниже:

>>> import sys
>>> app = PyQt4.QtGui.QApplication(sys.argv)
>>> app.setApplicationName('myname')
>>> print Phonon.BackendCapabilities.availableAudioEffects()

Но вот вывод функции, которая даже послеуказание одного элемента из списка не читается.Не уверен, как перевести его в читабельную форму ...?

(<unknown>:1848): GStreamer-CRITICAL **: gst_debug_add_log_function: assertion `func != NULL' failed
[<PyQt4.phonon.EffectDescription object at 0x7f941539ed70>,   <PyQt4.phonon.EffectDescription object at 0x7f941539ef30>, <PyQt4.phonon.EffectDescription   object at 0x7f941539efa0>, <PyQt4.phonon.EffectDescription object at 0x7f9408032050>, <PyQt4.phonon.EffectDescription object at 0x7f94080320c0>, <PyQt4.phonon.EffectDescription object at 0x7f9408032130>]
>>> print Phonon.BackendCapabilities.availableAudioEffects()[0]
<PyQt4.phonon.EffectDescription object at 0x7f941539ed70>

Post Script Как и в комментариях ниже, я выяснил большую часть этого относительно скорости звука в Phonon, иэтот поток находится здесь: <<a href="https://stackoverflow.com/questions/6527507/documentation-on-pyqt-phonon-backend-audio-effect-speed/6538526#6538526"> Документация по звуковому эффекту внутреннего интерфейса PyQt Phonon 'speed' >

1 Ответ

1 голос
/ 29 июня 2011

Вы получаете список EffectDescription объектов. Вы можете получить API из справочника класса . Например,

>>>for effect in Phonon.BackendCapabilities.availableAudioEffects():
       print effect.name()

ParamEq
WavesReverb
Gargle
Compressor
Distortion
Echo
I3DL2Reverb
Flanger
Chorus

С другой стороны, я думаю, что что-то не так с вашей установкой. Я не знаком с Ubuntu, но я не думаю, что вы должны получать эти сообщения об ошибках. Я не думаю, что вам нужно создавать объект QApplication, чтобы получить эту информацию. Мне не нужно было на WinXP.

...