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 pygame import mixer
from PyQt5.QtCore import QTimer, QTimer
import qtawesome as qta
class AudioPlayer(object):
@@ -30,7 +31,18 @@ class AudioPlayer(object):
self.__pause.clicked.connect(self.__pause_audio)
self.__stop.clicked.connect(self.__stop_audio)
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):
if mixer.get_init():
@@ -67,15 +79,16 @@ class AudioPlayer(object):
if os.path.exists(full_name):
self.__play.setEnabled(True)
self.__audio_file = full_name
self.__set_max_progress_bar()
def __play_audio(self):
if not self.__paused:
if self.__first_call:
self.__first_call = False
mixer.init(frequency = AudioSegment.from_wav(self.__audio_file).frame_rate)
mixer.music.load(full_name)
mixer.init(frequency = AudioSegment.from_wav(self.__audio_file).frame_rate,
buffer = 2048)
mixer.music.load(self.__audio_file)
self.__set_volume()
self.__set_max_progress_bar()
mixer.music.play()
else:
mixer.music.unpause()

13
main.py
View File

@@ -8,7 +8,6 @@ from PyQt5.QtWidgets import (QMainWindow,
from PyQt5.QtGui import QPixmap
from PyQt5 import uic
from PyQt5.QtCore import QFileInfo, QSize
import qtawesome as qta
from audio_player import AudioPlayer
@@ -28,18 +27,6 @@ class MyApp(QMainWindow, Ui_MainWindow):
self.search_bar.textChanged.connect(self.display_signals)
self.result_list.itemSelectionChanged.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.pause,
self.stop,