Delay audio initialization. Faster scrolling.
This commit is contained in:
@@ -2,7 +2,7 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
from pydub import AudioSegment
|
from pydub import AudioSegment
|
||||||
from pygame import mixer
|
from pygame import mixer
|
||||||
from PyQt5.QtCore import QTimer
|
from PyQt5.QtCore import QTimer, QTimer
|
||||||
|
|
||||||
|
|
||||||
class AudioPlayer(object):
|
class AudioPlayer(object):
|
||||||
@@ -11,11 +11,11 @@ class AudioPlayer(object):
|
|||||||
method and set_audio_player, which loads the current file. Everything else
|
method and set_audio_player, which loads the current file. Everything else
|
||||||
is managed internally.
|
is managed internally.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__time_step = 1000 # Milliseconds.
|
__time_step = 1000 # Milliseconds.
|
||||||
# __sample_rate = 8000 # Sample frequency of all audio files.
|
__delay_load_audio = 250 # Milliseconds
|
||||||
|
|
||||||
def __init__(self, play, pause, stop, volume, audio_progress):
|
def __init__(self, play, pause, stop, volume, audio_progress):
|
||||||
# mixer.init(frequency = self.__sample_rate)
|
|
||||||
self.__paused = False
|
self.__paused = False
|
||||||
self.__play = play
|
self.__play = play
|
||||||
self.__pause = pause
|
self.__pause = pause
|
||||||
@@ -25,6 +25,8 @@ class AudioPlayer(object):
|
|||||||
self.__audio_file = None
|
self.__audio_file = None
|
||||||
self.__timer = QTimer()
|
self.__timer = QTimer()
|
||||||
self.__timer.timeout.connect(self.__update_bar)
|
self.__timer.timeout.connect(self.__update_bar)
|
||||||
|
self.__load_timer = QTimer()
|
||||||
|
self.__load_timer.timeout.connect(self.__set_audio_player)
|
||||||
self.__play.clicked.connect(self.__play_audio)
|
self.__play.clicked.connect(self.__play_audio)
|
||||||
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)
|
||||||
@@ -59,8 +61,15 @@ class AudioPlayer(object):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def set_audio_player(self, fname):
|
def set_audio_player(self, fname):
|
||||||
|
if self.__load_timer.isActive():
|
||||||
|
self.__load_timer.stop()
|
||||||
|
self.fname = fname
|
||||||
|
self.__load_timer.start(self.__delay_load_audio)
|
||||||
|
|
||||||
|
def __set_audio_player(self):
|
||||||
|
self.__load_timer.stop()
|
||||||
self.__reset_audio_widget()
|
self.__reset_audio_widget()
|
||||||
full_name = os.path.join('Data', 'Audio_wav', fname + '.wav')
|
full_name = os.path.join('Data', 'Audio_wav', self.fname + '.wav')
|
||||||
if os.path.exists(full_name):
|
if os.path.exists(full_name):
|
||||||
mixer.init(frequency = AudioSegment.from_ogg(full_name).frame_rate)
|
mixer.init(frequency = AudioSegment.from_ogg(full_name).frame_rate)
|
||||||
self.__play.setEnabled(True)
|
self.__play.setEnabled(True)
|
||||||
|
|||||||
@@ -39,12 +39,12 @@ QProgressBar::chunk {
|
|||||||
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #1d5eff, stop:0.5 #4177ff, stop:1 #1d5eff);
|
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #1d5eff, stop:0.5 #4177ff, stop:1 #1d5eff);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
QAbstractScrollArea::corner {
|
QAbstractScrollArea::corner {
|
||||||
background: none;
|
background: none;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
QScrollBar:vertical, QScrollBar:horizontal{
|
QScrollBar:vertical, QScrollBar:horizontal{
|
||||||
background-color:#343434;
|
background-color:#343434;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
|
|||||||
Reference in New Issue
Block a user