2016-07-13 32 views
0

Ich möchte eine Audiodatei auslösen, wenn ich mein Telefon schütteln. Ich kann Audio mit Taste drücken, um zu spielen. Ich kann es auch auf Shake spielen, aber nur nach einem ersten Tastendruck. Ich will nicht einen Knopf zunächst für die Audio-drücken haben auf schütteln zu spielen ...html5 Beschleunigung nicht durch Audio auf Telefonen ausgelöst

javascript:

 var audio = new Audio('electornicnoise.mp3'); 

     $(document).ready(function() { 

      function onShake() { 
       audio.play(); 
      } 

      $.shake({ 
       callback: function() { 
        onShake(); 
       } 
      }); 

     }); 

html:

<button onclick="audio.play();">audio</button> 

Jede mögliche Hilfe würde sehr viel sein geschätzt.

Antwort

0

Ich schaffte es am Ende, indem Sie die Lautstärke anpassen. Der Benutzer muss also immer noch auf eine Schaltfläche klicken, aber die Audiodatei, die auf die Schaltfläche geklickt wird, hat die Lautstärke 0, während die Lautstärke bei der Wiedergabe durch Wackeln bei 0,5 liegt. Dies ist der Code ...

javascript:

 var audio = new Audio('electornicnoise.mp3'); 

     audio.volume = 0; 

     function gotIt(){ 
      audio.play(); 
      $('#copyContainer').hide(); 
      $("img.bg").effect("shake", {times:2}, 300); 
     }8  

     $(document).ready(function() { 

      function onShake() { 
       audio.play(); 
       audio.volume = 0.5; 
       $("img.bg").effect("shake", {times:20}, 3000); 
      } 


      $.shake({ 
       debug: "#debugdiv",    // debug div id 
       supported: "#notsupporteddiv", // not supported message div 
       violence: 3.0,     // single shake sensitivity 
       hf: 0.2,      // high-pass filter constant 
       shakethreshold: 10,    // number of single shakes required to fire a shake event 
       debounce: 1000,     // delay between shake events (in ms) 
       callback: function() { 
        onShake(); 
       } 
      }); 

     }); 

html:

 <div id="copyContainer"> 
      <p>Shake the present to hear what's inside</p> 
      <button id="gotIt" onclick="gotIt();">Ok got it!</button> 

      <div id="notsupporteddiv"> 
       <p>Your device is not supported.</p> 
      </div> 
     </div>