Mixer init on play buttn clicked

This commit is contained in:
alessandro90
2018-09-29 13:04:42 +02:00
parent 57817deec9
commit 9743e6bc72
2 changed files with 17 additions and 17 deletions

View File

@@ -3,6 +3,7 @@ import sys
from pydub import AudioSegment from pydub import AudioSegment
from pygame import mixer from pygame import mixer
from PyQt5.QtCore import QTimer, QTimer from PyQt5.QtCore import QTimer, QTimer
import qtawesome as qta
class AudioPlayer(object): class AudioPlayer(object):
@@ -30,7 +31,18 @@ class AudioPlayer(object):
self.__pause.clicked.connect(self.__pause_audio) self.__pause.clicked.connect(self.__pause_audio)
self.__stop.clicked.connect(self.__stop_audio) self.__stop.clicked.connect(self.__stop_audio)
self.__volume.valueChanged.connect(self.__set_volume) self.__volume.valueChanged.connect(self.__set_volume)
self.__play.setIcon(qta.icon('fa5.play-circle',
color = "#4facf1",
color_disabled = '#7a7a7a'))
self.__play.setIconSize(self.__play.size())
self.__pause.setIcon(qta.icon('fa5.pause-circle',
color = "#4facf1",
color_disabled = '#7a7a7a'))
self.__pause.setIconSize(self.__pause.size())
self.__stop.setIcon(qta.icon('fa5.stop-circle',
color = "#4facf1",
color_disabled = '#7a7a7a'))
self.__stop.setIconSize(self.__stop.size())
def __set_volume(self): def __set_volume(self):
if mixer.get_init(): if mixer.get_init():
@@ -67,15 +79,16 @@ class AudioPlayer(object):
if os.path.exists(full_name): if os.path.exists(full_name):
self.__play.setEnabled(True) self.__play.setEnabled(True)
self.__audio_file = full_name self.__audio_file = full_name
self.__set_max_progress_bar()
def __play_audio(self): def __play_audio(self):
if not self.__paused: if not self.__paused:
if self.__first_call: if self.__first_call:
self.__first_call = False self.__first_call = False
mixer.init(frequency = AudioSegment.from_wav(self.__audio_file).frame_rate) mixer.init(frequency = AudioSegment.from_wav(self.__audio_file).frame_rate,
mixer.music.load(full_name) buffer = 2048)
mixer.music.load(self.__audio_file)
self.__set_volume() self.__set_volume()
self.__set_max_progress_bar()
mixer.music.play() mixer.music.play()
else: else:
mixer.music.unpause() mixer.music.unpause()

13
main.py
View File

@@ -8,7 +8,6 @@ from PyQt5.QtWidgets import (QMainWindow,
from PyQt5.QtGui import QPixmap from PyQt5.QtGui import QPixmap
from PyQt5 import uic from PyQt5 import uic
from PyQt5.QtCore import QFileInfo, QSize from PyQt5.QtCore import QFileInfo, QSize
import qtawesome as qta
from audio_player import AudioPlayer from audio_player import AudioPlayer
@@ -28,18 +27,6 @@ class MyApp(QMainWindow, Ui_MainWindow):
self.search_bar.textChanged.connect(self.display_signals) self.search_bar.textChanged.connect(self.display_signals)
self.result_list.itemSelectionChanged.connect(self.display_specs) self.result_list.itemSelectionChanged.connect(self.display_specs)
self.result_list.currentItemChanged.connect(self.display_specs) self.result_list.currentItemChanged.connect(self.display_specs)
self.play.setIcon(qta.icon('fa5.play-circle',
color = "#4facf1",
color_disabled = '#7a7a7a'))
self.play.setIconSize(self.play.size())
self.pause.setIcon(qta.icon('fa5.pause-circle',
color = "#4facf1",
color_disabled = '#7a7a7a'))
self.pause.setIconSize(self.pause.size())
self.stop.setIcon(qta.icon('fa5.stop-circle',
color = "#4facf1",
color_disabled = '#7a7a7a'))
self.stop.setIconSize(self.stop.size())
self.audio_widget = AudioPlayer(self.play, self.audio_widget = AudioPlayer(self.play,
self.pause, self.pause,
self.stop, self.stop,