X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=app%2FMediaPlayer.qml;h=1c7c5a87d7ff06a5cac56f40c742351a9dfbab86;hb=8a02e0caa4f39c92db8557872750bf47db86f40a;hp=d37e097b5db8735667819c88354e71ccd6919219;hpb=0f9e9e41961a896ad2dc2bb05fcd7f5d9ee9e26b;p=apps%2Fmediaplayer.git diff --git a/app/MediaPlayer.qml b/app/MediaPlayer.qml index d37e097..1c7c5a8 100644 --- a/app/MediaPlayer.qml +++ b/app/MediaPlayer.qml @@ -19,14 +19,13 @@ import QtQuick.Layouts 1.1 import QtQuick.Controls 2.0 import QtMultimedia 5.6 import AGL.Demo.Controls 1.0 -import MediaPlayer 1.0 import 'api' as API ApplicationWindow { id: root - API.LightMediaScanner { - id: binding + API.MediaPlayer { + id: player url: bindingAddress } @@ -35,17 +34,6 @@ ApplicationWindow { url: bindingAddress } - MediaPlayer { - id: player - audioRole: MediaPlayer.MusicRole - autoLoad: true - playlist: playlist - - function time2str(value) { - return Qt.formatTime(new Date(value), 'mm:ss') - } - } - Timer { id: timer interval: 250 @@ -53,16 +41,13 @@ ApplicationWindow { repeat: true onTriggered: { bluetooth.position = bluetooth.position + 250 - slider.value = bluetooth.position } } - Playlist { + ListModel { id: playlist - playbackMode: random.checked ? Playlist.Random : loop.checked ? Playlist.Loop : Playlist.Sequential } - ColumnLayout { anchors.fill: parent Item { @@ -77,8 +62,8 @@ ApplicationWindow { anchors.bottom: parent.bottom height: sourceSize.height * width / sourceSize.width fillMode: Image.PreserveAspectCrop - source: player.metaData.coverArtImage ? player.metaData.coverArtImage : '' - visible: bluetooth.connected == false + source: player.cover_art ? player.cover_art : '' + visible: bluetooth.av_connected == false } Item { @@ -100,17 +85,19 @@ ApplicationWindow { Layout.fillHeight: true Row { spacing: 20 - ToggleButton { - id: random - visible: bluetooth.connected == false - offImage: './images/AGL_MediaPlayer_Shuffle_Inactive.svg' - onImage: './images/AGL_MediaPlayer_Shuffle_Active.svg' - } + //ToggleButton { + // id: random + // visible: bluetooth.connected == false + // offImage: './images/AGL_MediaPlayer_Shuffle_Inactive.svg' + // onImage: './images/AGL_MediaPlayer_Shuffle_Active.svg' + //} ToggleButton { id: loop visible: bluetooth.connected == false + checked: player.loop_state offImage: './images/AGL_MediaPlayer_Loop_Inactive.svg' onImage: './images/AGL_MediaPlayer_Loop_Active.svg' + onClicked: { player.loop(checked) } } } ColumnLayout { @@ -118,13 +105,13 @@ ApplicationWindow { Label { id: title Layout.alignment: Layout.Center - text: bluetooth.av_connected ? bluetooth.title : (player.metaData.title ? player.metaData.title : '') + text: bluetooth.av_connected ? bluetooth.title : (player.title ? player.title : '') horizontalAlignment: Label.AlignHCenter verticalAlignment: Label.AlignVCenter } Label { Layout.alignment: Layout.Center - text: bluetooth.av_connected ? bluetooth.artist : (player.metaData.contributingArtist ? player.metaData.contributingArtist : '') + text: bluetooth.av_connected ? bluetooth.artist : (player.artist ? player.artist : '') horizontalAlignment: Label.AlignHCenter verticalAlignment: Label.AlignVCenter font.pixelSize: title.font.pixelSize * 0.6 @@ -176,7 +163,7 @@ ApplicationWindow { bluetooth.sendMediaCommand("Previous") bluetooth.position = 0 } else { - playlist.previous() + player.previous() } } } @@ -192,7 +179,7 @@ ApplicationWindow { } states: [ State { - when: player.playbackState === MediaPlayer.PlayingState + when: player.running === true PropertyChanges { target: play offImage: './images/AGL_MediaPlayer_Player_Pause.svg' @@ -217,7 +204,7 @@ ApplicationWindow { if (bluetooth.av_connected) { bluetooth.sendMediaCommand("Next") } else { - playlist.next() + player.next() } } } @@ -225,7 +212,7 @@ ApplicationWindow { Item { Layout.fillWidth: true } ToggleButton { - enabled: bluetooth.connected + visible: bluetooth.connected checked: bluetooth.av_connected offImage: './images/AGL_MediaPlayer_Bluetooth_Inactive.svg' onImage: './images/AGL_MediaPlayer_Bluetooth_Active.svg' @@ -247,11 +234,6 @@ ApplicationWindow { Layout.fillHeight: true Layout.preferredHeight: 407 - PlaylistWithMetadata { - id: playlistmodel - source: playlist - } - ListView { anchors.fill: parent id: playlistview @@ -262,8 +244,8 @@ ApplicationWindow { text: 'PLAYLIST' opacity: 0.5 } - model: playlistmodel - currentIndex: playlist.currentIndex + model: playlist + currentIndex: -1 delegate: MouseArea { id: delegate @@ -273,12 +255,6 @@ ApplicationWindow { anchors.fill: parent anchors.leftMargin: 50 anchors.rightMargin: 50 - Image { - source: model.coverArt - fillMode: Image.PreserveAspectFit - Layout.preferredWidth: delegate.height - Layout.preferredHeight: delegate.height - } ColumnLayout { Layout.fillWidth: true Label { @@ -292,14 +268,14 @@ ApplicationWindow { font.pixelSize: 32 } } - Label { - text: player.time2str(model.duration) - color: '#66FF99' - font.pixelSize: 32 - } + //Label { + // text: player.time2str(model.duration) + // color: '#66FF99' + // font.pixelSize: 32 + //} } onClicked: { - playlist.currentIndex = model.index + player.pick_track(playlistview.model.get(index).index) player.play() } }