2014-01-14 2 views
3

Итак, я пытаюсь воспроизвести звук в своем приложении. Обычно звук следует воспроизводить после окончания обратного отсчета, а затем пользовательское взаимодействие останавливается.Почему QtGui.QSound просто ничего не играет?

Но проблема QSound просто заканчивается тем, что вообще ничего не играет. Я пробовал mp3, wav и т. Д. Без каких-либо результатов.

В чем может быть причина?

Я пробовал это как в Linux, так и в Windows. Вот что я пробовал (функции play и play2):

class Window(QtGui.QWidget): 
    def __init__(self): 
     QtGui.QWidget.__init__(self) 
     self.initUI() 

    def initUI(self): 
     self.setGeometry(300, 300, 200, 200) 
     self.btn = QtGui.QPushButton("Play", self) 
     self.btn.clicked.connect(self.play) 
     self.btn.move(50, 80) 

    def play(self): 
     c = QtGui.QSound("1.mp3") 
     c.play() 

    def play2(self): 
     QtGui.QSound.play("1.mp3") 

Ни один из них не работает!

EDIT: Я использовал Phonon для своей цели, но я понятия не имею, почему это не работает.

ответ

3

Вы должны позвонить QSound.isAvailable(), чтобы проверить, имеются ли необходимые звуковые средства на вашей платформе (но обратите внимание, что это может привести к ложному срабатыванию в Windows).

Когда я пытаюсь это сделать в Linux, это печатает False, хотя фонон установлен, и я могу воспроизводить аудио с помощью модуля PyQt Phonon.

Возможно, это связано с тем, что у меня нет встроенной поддержки NAS (я не проверял), что является ключевым требованием, определяющим доступность на X11. Для других платформ см. Detailed Description для QSound - в частности, обратите внимание, что QSound будет воспроизводить только WAV-файлы в Windows.

Смежные вопросы