Change from file pointer to file reference for notifications
This commit is contained in:
parent
9a097e20c9
commit
e3439fd4af
@ -56,24 +56,26 @@ void NotificationAudio::play(const QString &filePath) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QFile *file = new QFile(this);
|
playFile(filePath);
|
||||||
file->setFileName(filePath);
|
|
||||||
if (!file->open(QIODevice::ReadOnly)){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
playFile(file);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void NotificationAudio::playFile(QFile *file){
|
void NotificationAudio::playFile(const QString &filePath){
|
||||||
if(!m_init || !m_decoder || !m_audio || !file){
|
if(!m_init || !m_decoder || !m_audio){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
resetBuffers();
|
resetBuffers();
|
||||||
|
|
||||||
m_file = file;
|
m_file.setFileName(filePath);
|
||||||
m_decoder->setSourceDevice(m_file);
|
if (!m_file.open(QFile::ReadOnly)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!m_file.isReadable()){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_decoder->setSourceDevice(&m_file);
|
||||||
m_decoder->start();
|
m_decoder->start();
|
||||||
|
|
||||||
m_state = State::Playing;
|
m_state = State::Playing;
|
||||||
@ -104,12 +106,8 @@ void NotificationAudio::resetBuffers() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(m_file){
|
if(m_file.isOpen()){
|
||||||
if(m_file->isOpen()){
|
m_file.close();
|
||||||
m_file->close();
|
|
||||||
}
|
|
||||||
delete m_file;
|
|
||||||
m_file = nullptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
m_data.clear();
|
m_data.clear();
|
||||||
|
@ -37,7 +37,7 @@ protected:
|
|||||||
qint64 writeData(const char* data, qint64 len) override;
|
qint64 writeData(const char* data, qint64 len) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QFile *m_file;
|
QFile m_file;
|
||||||
State m_state;
|
State m_state;
|
||||||
QBuffer m_input;
|
QBuffer m_input;
|
||||||
QBuffer m_output;
|
QBuffer m_output;
|
||||||
@ -50,7 +50,7 @@ private:
|
|||||||
bool m_init;
|
bool m_init;
|
||||||
bool m_isDecodingFinished;
|
bool m_isDecodingFinished;
|
||||||
|
|
||||||
void playFile(QFile *file);
|
void playFile(const QString &filePath);
|
||||||
void resetBuffers();
|
void resetBuffers();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
Loading…
Reference in New Issue
Block a user