diff --git a/linux/media/mediacontroller.cpp b/linux/media/mediacontroller.cpp index c860abe..6257335 100644 --- a/linux/media/mediacontroller.cpp +++ b/linux/media/mediacontroller.cpp @@ -44,12 +44,7 @@ void MediaController::handleEarDetection(EarDetection *earDetection) if (shouldPause && isActiveOutputDeviceAirPods()) { - QProcess process; - process.start("playerctl", QStringList() << "status"); - process.waitForFinished(); - QString playbackStatus = process.readAllStandardOutput().trimmed(); - LOG_DEBUG("Playback status: " << playbackStatus); - if (playbackStatus == "Playing") + if (m_mediaState == Playing) { pause(); } diff --git a/linux/media/mediacontroller.h b/linux/media/mediacontroller.h index 2a6be0c..6134d91 100644 --- a/linux/media/mediacontroller.h +++ b/linux/media/mediacontroller.h @@ -43,6 +43,7 @@ public: void play(); void pause(); + MediaState getCurrentMediaState() const { return m_mediaState; }; Q_SIGNALS: void mediaStateChanged(MediaState state); @@ -59,6 +60,7 @@ private: EarDetectionBehavior earDetectionBehavior = PauseWhenOneRemoved; QString m_deviceOutputName; PlayerStatusWatcher *playerStatusWatcher = nullptr; + MediaState m_mediaState = Stopped; }; #endif // MEDIACONTROLLER_H \ No newline at end of file