@Maxim045

Как избавиться от звукового сигнала перед началом воспроизведения mp3-файла посредством модуля PyQt 5?

Мой небольшой код создает кнопку play_btn на главном окне приложения. Эта кнопка связана с методом play_song() класса MyWindow. Метод play_song() задает проигрывателю источник для воспроизведения. В данном случае источником является элемент списка self.list, в которым хранятся пути к mp3-файлам.

Клик на кнопку play_btn действительно запускает проигрывание композиции, но перед этим может появиться котороткий электронный звук. Этот звук не зависит от аудиофайла, который будет проигрываться. Он стал появляться после установки пакета кодеков K-Lite последней версии. Кодеки стали мне необходимы, т.к. некоторые mp3-файлы отказывались воспроизводиться модулем PyQt 5. Аудиофайлы, которые не воспроизводились до установки кодеков, сейчас начинают воспроизодиться без этого звука. Перед началом воспроизведения аудиофайлов, которые воспроизводились до установки кодеков, появляется этот звук.

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

from PyQt5 import QtCore, QtWidgets, QtMultimedia

class MyWindow(QtWidgets.QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)

        self.list = ['1.Papercut.mp3', '13.Numb.mp3']

        self.player = QtMultimedia.QMediaPlayer()

        self.box = QtWidgets.QGridLayout(self)      

        play_btn = QtWidgets.QPushButton('Play', clicked = self.play_song)
        self.box.addWidget(play_btn, 0, 0)

    # Воспроизведение
    def play_song(self):
        self.player.setMedia(QtMultimedia.QMediaContent(QtCore.QUrl(self.list[1])))
        self.player.play()


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = MyWindow()
    window.setWindowTitle('MP3-player, PyQt5')
    window.show()
    sys.exit(app.exec_())
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы