2016-07-11 3 views
0

이 진행중인 문제의 일부입니다 일시 정지, 짖는 소리 음소거 일시 정지 방법 : 나는 짖을 때 실제로지만, '음소거'효과를 일시 중지하지에 문제가 있어요 triggering files from an array/for-loopHowler.js -뿐만 아니라 실제로는

. 울부 짖는 소리는 클릭 일시 중지 상태에서 소리가 나지 만 계속 소리없이 울립니다. .stop()을 사용해 보았지만 동일한 결과가 나타납니다.

onend 속성을 사용 중이므로 .pause() 메서드가 작동하지 않는 것으로 나타납니다. 일시 중지/재생을 반복적으로 클릭하면 모두 지저분 해집니다!

어레이에서 하울 및 관련 제어 버튼이 스크립팅되기 전에 일시 중지가 완벽하게 작동했습니다. pause 메소드가 제대로 작동하지 않는 배열이 사용 되었기 때문입니다.

는 여기있다 :이 v1.1.29을 고함 사용 기록을 위해

var sounds = ['sound1', 'sound2']; 
var howls = {}; 
sounds.forEach(function(sound){ 
    howls[sound] = new Howl({ 
     urls: ['http://powellian.com/assets/audio/' + sound + '.mp3', 'http://powellian.com/assets/audio/' + sound + '.ogg'], 
     volume: 1, 
     onplay: function() { 
      console.log('PLAYING: ' + sound); 
      $('#' + sound).removeClass('static').addClass('PLAYING'); 
      $('#' + sound + ' span.play').addClass('hide'); 
      $('#' + sound + ' span.pause').removeClass('hide'); 
     }, 
     onpause: function() { 
      console.log('PAUSED: ' + sound); 
      $('#' + sound).removeClass('PLAYING').addClass('PAUSED'); 
      $('#' + sound + ' span.play').removeClass('hide'); 
      $('#' + sound + ' span.pause').addClass('hide'); 
     }, 
     onend: function() { 
      console.log('ENDED: ' + sound); 
      $('#' + sound).removeClass().addClass('static'); 
      $('#' + sound + ' span.play').removeClass('hide'); 
      $('#' + sound + ' span.pause').addClass('hide'); 
     } 
    }); 

    // PLAY btn 
    $('#' + sound + ' span.play').click(function() { 
     howls[sound].play(); 
    }); 
    // PAUSE btn 
    $('#' + sound + ' span.pause').click(function() { 
     howls[sound].pause(); 
    }); 
}); 

: fiddle of the current pause issue

다음은 JS있어 (콘솔 로그가 노력하고 있습니다). v2.0으로 시도했지만 여러 가지 다른 이유로는 작동하지 않습니다 (예 : 어레이를로드하지 않음 - 2.0은 필요 없지만 전혀 도움이된다면이 문제로 테스트를 실행할 수 있습니다).

어떤 도움을 주셔서 감사 드리며 미리 감사드립니다.

+0

2.0을로드하면로드되지 않습니다. 'urls'을'src'로 바꿨습니까? –

+0

No는 항상'urls' 이었지만 로컬로 업데이트 된 바 있습니다. 2.0은 이제 여기에 나열된 것과 동일한 문제로 잘 작동합니다. 이전에 업데이트했는데 오류 메시지가 배열을로드 할 수 없다는 것이 었습니다. 나는 1.1.29로 바이올린을 남겼다. 2.0-beta * 링크를 cdnjs에서 사용할 수있다. – redplanet

+0

'일시 정지'가 들리면 소리가 나지 만 조용하게 효과적으로 작동하고'onend' - 재빨리'플레이 '를 다시 시작하면, 단지'onend'가 두 번 해고 될뿐입니다. 이것은 실제로 소리를 재생/레이어링, 일시 중지하지 않고 '재생'을 실행 한 횟수만큼 발생합니다. console.log는 그것을 설명합니다. 희망, 도움, 감사합니다 – redplanet

답변

0

고정 - 나쁘지만 v2.0에서 깨닫지 못했습니다. urlssrc으로 변경해야합니다. 그렇게하면 정상적으로 작동합니다.

로컬 버전에서는 배열에 다른 오디오 파일을 추가하고 일시 중지했다가 onend가 모두 제대로 작동합니다. 조언 해 주셔서 감사합니다!

여기에 updated fiddle using 2.0.0-beta14

+0

[바이올린] (https://jsfiddle.net/8sxfc2Lt/4/)을 업데이트/리팩토링했습니다. – redplanet

관련 문제