2016-05-08 11 views
0

Ich versuche Sounds zu spielen und visualisiere die Frequenz (über D3.js), wenn ich ein Objekt schwebe. Das Problem ist, dass ich diesen Fehler, wenn ich von einem Punkt zum anderen zu springen:Mehrere AudioContext-Fehler beim Abspielen von Sounds im Hover-Status eines Elements

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) 

Hier ist mein Code:

$('.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"); 
}); 

ich viele Sachen ausprobiert habe, aber nichts funktioniert, jede mögliche Hilfe würde sehr sehr geschätzt werden! Vielen Dank!

Antwort

0

AudioContext sollte eindeutig sein. Versuchen Sie es nur einmal außerhalb Ihrer mouseenter Funktion zu deklarieren.

+0

Bereits versucht, aber es wirft einen Fehler auf die CreateMediaElementSource() und sagt, dass das HTML-Element bereits begrenzt ist: / – user990463