1

ギア s2 の Web アプリを開発していて、ベゼルを時計回り/反時計回りに回転させたときに次/前のオーディオ ファイルを再生しようとしています。

時計の「音楽プレーヤー」と同じように。

今まで試したのは以下の通りですが、ベゼルを時計回りに回すと2曲目、反時計回りに回すと1曲目だけ再生されます。ベゼルを回すたびに次の曲に進むように書く方法がわかりません。

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();
  }

うまくいけば、誰かが問題が何であるか、またはそれを行う別の方法があるかどうかを見つけることができます. ありがとうございました。

4

1 に答える 1

1

この問題を抱えている人にとって、私はついに問題が何であるかを知りました。以下のように、EventListener をページに追加する必要があります。

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

//何かをする

});

于 2015-12-02T10:54:43.573 に答える