Unity 8
NotificationAudio.qml
1 /*
2  * Copyright (C) 2015 Canonical, Ltd.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; version 3.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 import QtQuick 2.4
18 
19 Item {
20  id: root
21  property string source: ""
22  readonly property var playbackState: priv.audio ? priv.audio.playbackState : 0
23 
24  function play() {
25  priv.audio.play();
26  }
27  function stop() {
28  priv.audio.stop();
29  }
30 
31  QtObject {
32  id: priv
33  property var audio: {
34  try {
35  return Qt.createQmlObject("import QtMultimedia 5.6; Audio { source: root.source; audioRole: MediaPlayer.NotificationRole }", priv)
36  } catch(err) {
37  console.log("Upstream audioRole enum not available, falling back to old role name.");
38  return Qt.createQmlObject("import QtMultimedia 5.0; Audio { source: root.source; audioRole: MediaPlayer.alert }", priv)
39  }
40  }
41  }
42 }