summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/MediaPlayer.qml29
-rw-r--r--app/app.pro2
-rw-r--r--app/main.cpp3
3 files changed, 33 insertions, 1 deletions
diff --git a/app/MediaPlayer.qml b/app/MediaPlayer.qml
index 177fe36..95bc22b 100644
--- a/app/MediaPlayer.qml
+++ b/app/MediaPlayer.qml
@@ -49,6 +49,8 @@ ApplicationWindow {
Component.onCompleted : {
// Let the mediaplayer backend know we're ready for metadata events
mediaplayer.start()
+
+ VehicleSignals.connect()
}
Connections {
@@ -86,6 +88,33 @@ ApplicationWindow {
}
}
+ Connections {
+ target: VehicleSignals
+
+ onConnected: {
+ VehicleSignals.authorize()
+ }
+
+ onAuthorized: {
+ VehicleSignals.subscribe("Vehicle.Cabin.Infotainment.Media.Action")
+ }
+
+ onSignalNotification: {
+ if (path === "Vehicle.Cabin.Infotainment.Media.Action") {
+ if (value == "SkipForward") {
+ mediaplayer.next()
+ } else if (value == "SkipBackward") {
+ mediaplayer.previous()
+ } else if (value == "NextSource") {
+ if (player.av_connected)
+ mediaplayer.connect()
+ else
+ mediaplayer.disconnect()
+ }
+ }
+ }
+ }
+
Timer {
id: timer
interval: 250
diff --git a/app/app.pro b/app/app.pro
index d14bdb6..dee1c5a 100644
--- a/app/app.pro
+++ b/app/app.pro
@@ -3,7 +3,7 @@ TARGET = mediaplayer
QT = qml quickcontrols2
CONFIG += c++11 link_pkgconfig
-PKGCONFIG += qtappfw-mediaplayer
+PKGCONFIG += qtappfw-mediaplayer qtappfw-vehicle-signals
SOURCES = main.cpp
diff --git a/app/main.cpp b/app/main.cpp
index 771ce3a..2058ff9 100644
--- a/app/main.cpp
+++ b/app/main.cpp
@@ -24,6 +24,7 @@
#include <QQuickWindow>
#include <mediaplayer.h>
+#include <vehiclesignals.h>
#include <unistd.h>
@@ -38,6 +39,8 @@ int main(int argc, char *argv[])
QQmlContext *context = engine.rootContext();
context->setContextProperty("AlbumArt", "");
context->setContextProperty("mediaplayer", new Mediaplayer(context));
+ VehicleSignalsConfig vsConfig("mediaplayer");
+ context->setContextProperty("VehicleSignals", new VehicleSignals(vsConfig));
engine.load(QUrl(QStringLiteral("qrc:/MediaPlayer.qml")));