我正在尝试使用分析器节点和getByteFrequencyData()来测量两种声音之间的差异。我认为通过对每个频率区间的差异求和,我可以得出一个数字来表示这两种声音的差异程度。然后我就可以改变声音并再次测量数字,看看新声音是否与以前有或多或少的不同。getByteFrequencyData()是否完全包含声音的表示,或者我是否需要包含其他数据来限定声音?这是我使用的代码:varSpectrogram=(function(){functionSpectrogram(ctx){this.analyser=ctx.createAnalyser();this.analyser.fftSize
根据我的阅读,我希望以下JavaScript代码记录“一切都很好”,但它却遇到了错误情况:varaudio=document.createElement('audio');varctx=newwindow.AudioContext();varsource=ctx.createMediaElementSource(audio);audio.src='http://www.mediacollege.com/audio/tone/files/440Hz_44100Hz_16bit_30sec.mp3';//As@padenotmentioned,thisisthenumberofchanne
我正在创建一个GoogleChrome扩展程序,它依赖于了解“youtube.com”上正在播放的视频的当前时间。我知道,原则上,document.getElementById('movie_player').getCurrentTime()应该返回这个,但是在注入(inject)页面的内容脚本中调用它会产生:UncaughtTypeError:document.getElementById('movie_player').getCurrentTimeisnotafunction(…)我能够在Chrome控制台中运行该命令并获得正确的返回值。在将此问题标记为重复问题之前,我想指出我
我正在尝试实现可以在任何给定时刻重新启动的音量包络,即使它已经处于参数移动的中间但我无法弄清楚如何在不点击结果音频的情况下执行此操作(关于它们发生的时间似乎有些不规则)。这可能吗?我看到AudioParam.cancelScheduledValues()“取消了对AudioParam的所有计划的future更改”,但我不确定当前正在进行的更改会发生什么。这是我用来启动/重新启动音量包络的代码。varnow=context.currentTime;varcurrentVol=gain.gain.value;gain.gain.cancelScheduledValues(now);ga
如标题、副标题、歌手、专辑、比特率等。wiki-MP3taginfomationwiki-ID3(mp3metadataformat)我搜索了很多..但我找不到答案。只搜索了如何播放、停止、重新加载音频..浏览器不支持吗? 最佳答案 还有一个库可用在https://github.com/aadsm/JavaScript-ID3-Reader最简单的形式:ID3.loadTags("filename.mp3",function(){vartags=ID3.getAllTags(filename);alert(tags.artist+"
我将要描述的行为发生在Chrome44中,但不会发生在Firefox40中。如果您创建一个振荡器,将其频率设置为220Hz,然后在一秒钟后将频率更改为440Hz,您会听到明显的滑音效果:振荡器不是立即从220变为440,而是从原始频率滑行到新频率。下面的代码说明了这种现象:varac=newAudioContext();varosc=ac.createOscillator();osc.connect(ac.destination);osc.type='sawtooth';osc.frequency.value=220;osc.start(0);window.setTimeout(fun
我想使用javascript和按钮更改标签的src属性:Yourbrowser...再往下一点:似乎什么都不做。有人有线索吗?百万感谢在Xubuntu10.10上使用Firefox3.6编辑:它似乎可以在Chrome上运行,但Firefox不喜欢它。我应该报告错误吗?你知道绕过它的方法吗? 最佳答案 我相信当您更改src属性时,您必须通过调用load告诉浏览器加载新文件:varplayme=document.getElementById('playme');playme.src='snd/SOUND.WAV';playme.load
我有一个带有向前/向后跳过10秒按钮的JavaScript音频播放器。我通过设置音频元素的currentTime来做到这一点:functionPlayer(skipTime){this.skipTime=skipTime;this.waitLoad=false;//initialisemainnarrationaudiothis.narration=newAudio(getFileName(dynamicNarration));this.narration.preload="auto";this.narration.addEventListener('canplaythrough',(
关闭。这个问题不符合StackOverflowguidelines。它目前不接受答案。要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另见:StackOverflowquestionchecklist关闭9年前。Improvethisquestion我正在进行一个项目,客户想要一个播放器来播放一些音乐。所以,我的问题是,有没有什么方法可以使用javascript或jQuery插件,让我们有一个非常小的播放列表,比如3或4首歌曲左右,而访问者可以控制他/她想要的音乐、音量等...就像我们在网络上看到的许多Flash播放器一样
WebAudioAPIdocs不要真正解释用完AudioNode后的用途。例如,如果我用完了一个AudioBufferSourceNode并且我想摆脱它,只调用noteOff()就足够了吗?还是我需要断开连接吗? 最佳答案 只需调用noteOff()就足够了,或者如果AudioBufferSourceNode没有循环,它会在到达样本数据末尾时自行完成(不需要调用noteOff())。无需断开连接。 关于javascript-WebAudio中AudioNode的清理,我们在StackOv