2016-08-24 11 views
0

この問題については多くのトピックや質問を読んでいますが、解決策が見つかりません。すべてのAndroidブラウザ、すべてのデスクトップブラウザでサウンドを再生できますが、iPhone 5cのSafariでは再生できません。 私は(私は間違いなくいない専門家だ)ウェブオーディオAPIでそれをやろうとしている、ここに私のコードです:私もsource.noteOn()、source.noteOn(0)で試してみましたWebオーディオAPIのサウンドはデスクトップとAndroidで動作しますが、iPhoneでは動作しません

window.addEventListener ('load', loadSound); 
canvas.addEventListener ('touchend', loadSound); 
canvas.addEventListener ('mouseup', loadSound); 

window.AudioContext = window.AudioContext || window.webkitAudioContext; 
var audioContext = new window.AudioContext(); 

var playSoundBuffer; 
var source; 

function loadSound() { 
    setTimeout(function() { 

     var request = new XMLHttpRequest(); 
     var audioURL = "media/sound/WW_start.wav"; 

     request.open("GET", audioURL, true); 
     request.responseType = "arraybuffer"; 
     request.onload = function() { 
     audioContext.decodeAudioData(request.response, function(buffer) { 
      playSoundBuffer = buffer; 
      playSound(); 
      }, function(error) { 
       console.error("Error in sound", error); 
      });     
     request.send(); 
     } 
    }, 50); 
} 

function playSound() { 
    source = audioContext.createBufferSource(); 
    source.buffer = playSoundBuffer; 
    source.connect(audioContext.destination); 
    source.start(0); 
} 

、 webkitAudioContext ...

答えて

0

ハウラーは、ソリューションです:

<script src="lib/howler.js-master/howler.js-master/dist/howler.js"></script> 

...

var sound = new Howl({ 
    src: ['file.wav', 'file.mp3', 'file.ogg'], 
    volume: 1, 
    buffer: false 
}); 

window.addEventListener('mousedown', function() { 
    sound.play(); 
}, false); 
関連する問題