问题描述
我在 React 中制作了一个按钮,该按钮会在屏幕上围绕一个圆圈向左和向右发出声音。音频感觉它的平移不够,就像它仍然从两个扬声器中传出一样,我能做些什么来增加平移效果。
function AudioButton ({seconds,amplitude}){
const [audio,setAudio] = useState(undefined);
const [playing,setPlaying] = useState(false);
useEffect(()=>{
if (audio){
audio.p.pan.value =(Math.sin(seconds / (60/amplitude)))
//audio.p.pan.value=-1;
}
}
);
return <button onClick={()=>{
if (!playing){
if (!audio){
var audioContext = new AudioContext()
var o = audioContext.createOscillator()
var g = audioContext.createGain()
let p = audioContext.createStereoPanner();
o.connect(g)
g.connect(p);
p.connect(audioContext.destination);
g.connect(audioContext.destination)
o.frequency.value = 528;
g.gain.value =0.25
//o.frequency.exponentialRampTovalueAtTime(300,audioContext.currentTime + 2);
o.start();
setAudio({
o,g,p,audioContext
});
setPlaying(true);
return;
}
setPlaying(true);
}else {
setPlaying(false);
if (audio){
audio.o.stop();
}
setAudio(undefined);
}
}}>{playing?"Stop":"Start"}</button>
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)