2016-09-30 1 views
0

Ich erstelle eckige App mit benutzerdefinierten Web-Audio-Player.
Ich habe 2 Schieberegler erstellt - 1, um die Lautstärke zu steuern und einen, um den StereoPan (L R Kanäle) zu steuern.
Das Problem ist, dass, wenn die Lautstärke nicht auf 0 eingestellt ist, das Panning nicht (wenn es deaktiviert werden soll) einen der Kanäle deaktiviert.
Zum Beispiel wenn die Lautstärke = 0,5 und pan = -1 dann soll nur der linke Kanal Sound erzeugen ABER nein - beide Kanäle arbeiten (rechts ist schwächer als der linke, aber es produziert immer noch Sound) ... wenn der Volumen = 0 alles funktioniert ok ...
Dies ist, wie ich die Lautstärke und Panorama-Knoten zu schaffenWeb-Audio-Stereo-Panner funktioniert nicht richtig, wenn die Lautstärke größer als 0 ist

 $scope.AudioBufferSource.buffer = AudioBuffer; 

     $scope.AudioStereoPannerNode = $scope.AudioContext.createStereoPanner(); 
     $scope.AudioGainerNode = $scope.AudioContext.createGain(); 

     $scope.AudioBufferSource.connect($scope.AudioStereoPannerNode); 
     $scope.AudioBufferSource.connect($scope.AudioGainerNode); 

     $scope.AudioStereoPannerNode.connect($scope.AudioContext.destination); 
     $scope.AudioGainerNode.connect($scope.AudioContext.destination); 

Antwort

2

Sie Ihr Diagramm falsch erstellt hat. Sie haben die Ausgabe sowohl des Verstärkungsknotens als auch des Panner-Knotens mit dem Ziel verbunden. Daher hören Sie immer etwas vom Verstärkungsknoten (auf beiden Kanälen), es sei denn, die Verstärkung ist 0 und etwas vom Panner.

Sie wollten wahrscheinlich den Panner mit der Verstärkung zum Ziel verbinden (oder umgekehrt).

Verwandte Themen