gpt4 book ai didi

javascript - 媒体元素音频源节点如何播放

转载 作者:太空狗 更新时间:2023-10-29 16:42:43 24 4
gpt4 key购买 nike

所以我在尝试从标签创建网络音频源节点时遇到了问题。代码如下所示:

OBJECT.musicContext= new webkitAudioContext();  
OBJECT.audio = new Audio();
OBJECT.audio.src = self.file;
OBJECT.source = OBJECT.musicContext.createMediaElementSource(OBJECT.audio);

var analyser= OBJECT.musicContext.createAnalyser();
analyser.fftSize=1024;
OBJECT.analyser=analyser

OBJECT.gain = self.musicContext.createGain();
OBJECT.gain.gain.value = .01
OBJECT.source.connect(OBJECT.gain)
OBJECT.gain.connect(OBJECT.analyser)
OBJECT.analyser.connect(OBJECT.musicContext.destination)

OBJECT.play = function(){OBJECT.source.play();}
OBJECT.stop = function(){OBJECT.source.stop();}

问题出在最后两行。我似乎无法通过 webkit 音频上下文播放音频...

如果我这样做

OBJECT.play = function(){OBJECT.audio.play();}

声音将开始播放,但不会通过音频节点播放(这是有道理的)

我也试过

OBJECT.play = function(){OBJECT.source.noteOn(0);}
OBJECT.stop = function(){OBJECT.source.noteOff(0);}

没用...

非常感谢任何帮助或建议,并提前感谢您的宝贵时间!

艾萨克

编辑:当 console.logging OBJECT.source 声称有零个输入和 1 个输出时。这对于源节点是否正确?

最佳答案

您应该在 Chrome 中尝试将您的页面设为 Safari currently doesn't send the correct data to the Analyzer Node .如果您将 Audio() 对象与 Web Audio API 一起使用,那么您应该能够使用它来控制播放,而不是使用 .noteOn()/.noteOff().

这是测试用例:http://screamingrobots.com/misc/safariaudiobug/

关于javascript - 媒体元素音频源节点如何播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13978818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com