Warning, /maui/index-fm/src/widgets/previewer/AudioPreview.qml is written in an unsupported language. File is not indexed.
0001 import QtQuick 2.9 0002 import QtQuick.Controls 2.2 0003 import QtQuick.Layouts 1.3 0004 0005 import QtMultimedia 5.8 0006 0007 import org.mauikit.controls 1.3 as Maui 0008 0009 Item 0010 { 0011 id: control 0012 0013 property alias player: player 0014 0015 MediaPlayer 0016 { 0017 id: player 0018 source: currentUrl 0019 autoLoad: true 0020 autoPlay: appSettings.autoPlayPreviews 0021 property string title : player.metaData.title 0022 0023 onTitleChanged: 0024 { 0025 infoModel.append({key:"Title", value: player.metaData.title}) 0026 infoModel.append({key:"Artist", value: player.metaData.albumArtist}) 0027 infoModel.append({key:"Album", value: player.metaData.albumTitle}) 0028 infoModel.append({key:"Author", value: player.metaData.author}) 0029 infoModel.append({key:"Codec", value: player.metaData.audioCodec}) 0030 infoModel.append({key:"Copyright", value: player.metaData.copyright}) 0031 infoModel.append({key:"Duration", value: player.metaData.duration}) 0032 infoModel.append({key:"Track", value: player.metaData.trackNumber}) 0033 infoModel.append({key:"Year", value: player.metaData.year}) 0034 infoModel.append({key:"Rating", value: player.metaData.userRating}) 0035 infoModel.append({key:"Lyrics", value: player.metaData.lyrics}) 0036 infoModel.append({key:"Genre", value: player.metaData.genre}) 0037 infoModel.append({key:"Artwork", value: player.metaData.coverArtUrlLarge}) 0038 } 0039 } 0040 0041 0042 ColumnLayout 0043 { 0044 anchors.centerIn: parent 0045 width: Math.min(parent.width, 200) 0046 spacing: Maui.Style.space.medium 0047 0048 Item 0049 { 0050 Layout.fillWidth: true 0051 Layout.fillHeight: true 0052 0053 Layout.preferredHeight: 200 0054 Layout.preferredWidth: 200 0055 0056 Maui.IconItem 0057 { 0058 height: parent.height 0059 width: parent.width 0060 iconSizeHint: height 0061 iconSource: iteminfo.icon 0062 imageSource: iteminfo.thumbnail 0063 } 0064 } 0065 0066 Maui.ListItemTemplate 0067 { 0068 Layout.fillWidth: true 0069 label1.text: player.metaData.title 0070 label1.font.weight: Font.DemiBold 0071 label1.font.pointSize: Maui.Style.fontSizes.big 0072 0073 label2.text: player.metaData.albumArtist || player.metaData.albumTitle 0074 } 0075 0076 RowLayout 0077 { 0078 Layout.fillWidth: true 0079 0080 ToolButton 0081 { 0082 icon.name: player.playbackState === MediaPlayer.PlayingState ? "media-playback-pause" : "media-playback-start" 0083 onClicked: 0084 { 0085 if(player.playbackState === MediaPlayer.PlayingState) 0086 player.pause() 0087 else 0088 player.play() 0089 } 0090 } 0091 Slider 0092 { 0093 id: _slider 0094 Layout.fillWidth: true 0095 orientation: Qt.Horizontal 0096 from: 0 0097 to: 1000 0098 value: (1000 * player.position) / player.duration 0099 onMoved: player.seek((_slider.value / 1000) * player.duration) 0100 } 0101 } 0102 } 0103 } 0104 0105