2016-05-08 5 views
0

アイテムをホバリングしているときに、音を再生して周波数を視覚化しようとしています(D3.js経由)。任意のに役立つだろう、私は多くのものを試してみたが、何も動作要素のホバー状態でサウンドを再生すると、複数のAudioContextエラーが発生する

$('.item').on('mouseenter', function(){ 
    itemId = $(this).attr('data-id'); 
    $(itemId).trigger("play"); 

    var audioCtx = new (window.AudioContext || window.webkitAudioContext)(); 
    var audioElement = document.getElementById(itemId); 
    var audioSrc = audioCtx.createMediaElementSource(audioElement); 
    var analyser = audioCtx.createAnalyser(); 

    // Bind our analyser to the media element source. 
    audioSrc.connect(analyser); 
    audioSrc.connect(audioCtx.destination); 

    var frequencyData = new Uint8Array(50); 

    //D3.JS Stuffs here 
}); 
$('.item').on('mouseleave', function(){ 
    itemId = $(this).attr('data-id'); 

    $('#' + coverId).trigger("pause"); 
}); 

:ここ

main.js:94 Uncaught NotSupportedError: Failed to construct 'AudioContext': The number of hardware contexts provided (6) is greater than or equal to the maximum bound (6) 

は私のコードです:問題は、私は1つのアイテムから別のにジャンプするとき、私はこのエラーを取得するということです非常に非常に高く評価される!ありがとう!

答えて

0

AudioContextは一意である必要があります。あなたのmouseenter機能の外で、一度だけ宣言してみてください。

+0

既に試しましたが、createMediaElementSource()にエラーがスローされ、HTMLelementが既にバインドされていると表示されます。/ – user990463

関連する問題