diff --git a/requestworker.cpp b/requestworker.cpp index 308c73b..7ee209b 100644 --- a/requestworker.cpp +++ b/requestworker.cpp @@ -277,6 +277,9 @@ void RequestWorker::startAlarm() void RequestWorker::stopAlarm() { + if (!player_started) + return; + enable_alarm = false; player_started = false; if(player) { @@ -289,7 +292,10 @@ void RequestWorker::stopAlarm() audioOutput = nullptr; } #ifdef Q_OS_ANDROID - if(m_androidMediaPlayer) { + if (m_androidMediaPlayer && m_androidMediaPlayer->isValid()) { + m_androidMediaPlayer->callMethod("stop"); + m_androidMediaPlayer->callMethod("release"); + delete m_androidMediaPlayer; m_androidMediaPlayer = nullptr; }