jjzjj

javascript - 如何通过函数获取 audio.duration 值

我是我的音频播放器,我需要获取音轨的持续时间。我需要一个函数来获取音频的src并返回其持续时间。这是我正在尝试但不起作用的方法:functiongetDuration(src){varaudio=newAudio();audio.src="./audio/2.mp3";vardue;returngetVal(audio);}functiongetVal(audio){$(audio).on("loadedmetadata",function(){varval=audio.duration;console.log(">>>"+val);returnval;});}我试图拆分成两个函数,但

javascript - 网络音频启动和停止振荡器然后再次启动它

我正在尝试开始和停止声音。那行得通。但是我无法再次启动声音。我真的必须再做一个振荡器吗?这看起来非常不直观。一定有更好的方法。这就是我所有的工作:oscillator1.noteOn(0);oscillator1.noteOff(0);再次调用noteOn没有任何作用。为什么?超出我的范围。我还尝试将音量设置为零,或者在网络音频人员的上下文中,“增益”。但出于某种原因,零增益会发出声音。什么增益值不会发出任何声音?伙计,我简直不敢相信这是多么困难:/ 最佳答案 实际上,是的,您必须创建一个新的振荡器节点。API被设计和优化以使用该模

javascript - 如何删除 Javascript 中音轨之间的停顿

我正在构建一个javascript游戏,我想根据声音文件片段创建背景音乐。短mp3文件,将它们作为一个连续的轨道播放。我尝试在音频文件上绑定(bind)一个“结束”事件处理程序,尽管这会导致音频片段之间出现延迟。为了解决这个问题,我做了一个仍然不起作用的hacky解决方案,在它完成前1秒更改音频。Ebuc.manageAudio=function(){varlistener=function(event){if(this.currentTime>(this.duration-1)&&Ebuc.bgnext){Ebuc.manageAudio();console.log("aduio")

javascript - SVG 可以包含使用 javascript 的音频吗?

我有一个具有一些基本javascript交互性的SVG,我也希望能够将一些音频放入其中。澄清一下:这是针对本身没有内联在HTML中的SVG我宁愿避免使用javascript库,但如果有必要,我会这样做。对如何实现这一目标有任何见解吗? 最佳答案 如果您需要支持HTML5音频的浏览器,则可以将音频元素放入svg中(对音频元素及其子元素使用XHTML命名空间)。上次我尝试它不需要foreignObject包装器。Here'sanexample展示如何做到这一点(适用于chrome、firefox和opera)。也可以使用javascri

javascript - PCM Web Audio Api Javascript - 我的声音失真

我正在通过线路接收交错的16位PCM样本。每个样本都有签名我将其读取为Int16位数组,我们称其为ALL_DATA。所以每个数组条目都是一个16位样本。因为它是交错的,所以我将它提取到2个channelR-L-R-L我最终得到2个(16位)数组,大小是ALL_DATA数组的一半。之后,我遍历每个样本并将其标准化为Float32Array,因为这就是网络音频API使用。varnormalizedSample=(样本>0)?sample/32768:sample/-32768;这是正确的做法吗?我听到的是失真的声音。你可以知道发生了什么。所以从字面上看,如果你正在听古典吉他,它听起来像是带

javascript - 使用javascript从mp3中读取id3标签

我知道之前有人在这里问过这个问题,但我的情况有点不同。我正在制作一个chrome应用程序,因此我可以访问它支持的所有最新JavaScript文件api,而不必担心兼容性问题。更重要的是,我真的很想自己做这件事……即没有任何图书馆。教程或指南就可以了。毕竟这到底有多难?基本上我有用户添加的mp3,我希望能够读取最基本的信息,如艺术家和专辑(实际上,只有这两个,但其他的不会造成任何伤害)。我相信我知道什么是id3标签以及如何读取信息。我只需要看一次它的运行情况。谢谢 最佳答案 不再需要使用binaryajax.js或id3解析器库。在C

javascript - 混合两个音频缓冲区,使用 web Audio Api 将一个放在另一个的背景上

我想通过将一首歌曲作为另一首歌曲的背景音乐来混合两个音频源。例如,我有输入:解码这些文件的脚本:window.AudioContext=window.AudioContext||window.webkitAudioContext;varcontext=newwindow.AudioContext();varsources=[];varfiles=[];varmixed={};functionhandleFilesSelect(event){if(event.target.files.lengthi+1){readFiles(i+1,callback);}else{if(callback

javascript - 在 Android 版 Chrome 上获取音频持续时间

我正在获取文件的音频/视频持续时间,但没有将其附加到屏幕上。“使用相同的代码”,当我尝试获取两侧的视频持续时间时,它按预期工作。但是当使用音频文件时,它说在Android上持续时间为0,但它适用于台式计算机。//OnlyworkingonDesktopvaraudio=newAudio(url);//Hideaudioplayer//player.appendChild(audio);audio.addEventListener('loadedmetadata',function(){alert(audio.duration);});下面的代码是有效的://WorkingonDeskt

javascript - 如何仅加载波形并等待用户单击 'play' 以在 Wavesurfer-js 上下载音频?

在我的服务器上,我使用Audiowaveform从我的音频文件生成JSON数据。在前端我使用Wavesurfer-JS根据之前的JSON数据绘制波形。问题是在页面准备好时,Wavesurfer-JS一直在后台下载音频文件(不仅是在用户点击播放按钮时)。This是我的尝试。这是最重要的部分:varwavesurfer=WaveSurfer.create({container:'#waveform',waveColor:'grey',backend:'MediaElement',mediaType:'audio',progressColor:'red',cursorColor:'#fff'

javascript - 声音在 Chrome 桌面推送通知中的服务 worker 中不起作用

当我收到通知时,我正在尝试在Chrome浏览器的推送通知中播放声音。我已经在我的网站上设置了浏览器推送通知,但它不播放声音。我已经在浏览声音选项,但听不到声音。option={'body':'ThisiststDescription','icon':'icon.png','silent':'false','sound':'bell.mp3'}如果有任何其他方法可以播放通知中的声音,请告诉我。 最佳答案 或者您可以全局声明myAudio对象并在弹出通知之后或之前使用play()函数。myAudio=newAudio("alert_to