如何在Gear s2中使用挡板播放下一个/上一个音频文件

How to play next/previous audio file using bezel in Gear s2?

本文关键字:下一个 播放 上一个 文件 音频 挡板 Gear s2      更新时间:2023-09-26

正在为gear s2开发Web应用程序,当挡板顺时针/逆时针旋转时,我正在尝试播放下一个/上一个音频文件。

就像手表上的"音乐播放器"一样。

到目前为止,我尝试的内容如下,但当我顺时针旋转挡板时,只播放第二首歌,而当我逆时针旋转时,只会播放第一首歌。我不知道该怎么写,所以每次我旋转挡板时,它都会进入下一首歌。

var audio = new Audio();
var source = ["songs/coldplay.mp3", "songs/abba.mp3", "songs/goodbye.mp3", "songs/sleep.mp3"];
var i = 0;
var current = null;
rotaryDetentHandler = function(e) {
direction = e.detail.direction;
if (direction === "CW") {
   if(i <source.length)
       i++;
    else i=source.length;
    }
if (direction === "CCW") {
  if(i>0)
      i-- ;
  else i = 0;
}
if(current !=null)
   {stop();}
audio.src = source [i];
audio.load();
audio.play();
current = audio;
} 
function stop()
  {
      current.pause();
  }

希望有人能找出问题所在,或者是否有其他方法可以解决。非常感谢。

对于任何有这个问题的人,我终于发现了问题所在。您必须在页面中添加一个EventListener,如下所示:

page.addEventListener("pagebeforeshow",function(){

//做点什么

});