当前位置:首页 > 软件开放 > 正文内容

网页播放音乐代码(网站音乐播放器插件代码)

软件开放1年前 (2023-12-11)407

在 CSS-Tricks 上看到一篇介绍 Web Audio API 的文章,学以致用,为工具箱中的摩斯密码转换器加上了在线播放功能。

从 AudioContext 开始

Web Audio API 主要通过 AudioContext 来处理音频,就好像 RenderingContext 之于 Canvas API。

// Safari 需要 `webkit` 前缀

varAudioContext= window.AudioContext|| window.webkitAudioContext;

varctx = newAudioContext();

通常一个典型的 Web Audio API 操作流程是这样的:

创建音频上下文对象

创建音频源:音频文件、振荡器(生成声波)或音频流(摄像头/麦克风)

连接效果节点

输出音频

通过 Oscillator(振荡器)生成声波

Oscillator 可以发出指定波形和频率的声波。

网页播放音乐代码(网站音乐播放器插件代码)

让我们来听下四种常见的波形:方波 (square)、三角波 (triangle)、正弦波 (sine) 和锯齿波 (sawtooth)

展开全文

通过 Oscillator,我们无需音频文件,就能生成和电报一样的声音:

varoscillator = ctx.createOscillator();

// 设置波形

oscillator.type = "sine";

// 设置频率

oscillator.frequency.value = 600;

为了把音频输出到扬声器,你需要将各个节点连接起来。接着上面的代码,将 Oscillator 节点连接到 AudioContext.destination(即输出设备),调用 start() 方法开始播放。

varAudioContext= window.AudioContext|| window.webkitAudioContext;

varctx = newAudioContext();

varoscillator = ctx.createOscillator();

oscillator.type = "sine";

oscillator.frequency.value = 600;

oscillator.connect(ctx.destination);

oscillator.start();

要更改音量,你需要连接一个 GainNode(音量控制器)节点。新的节点路由变成了:oscillator - gainNode - destination

vargainNode = ctx.createGain();

oscillator.connect(gainNode);

gainNode.connect(ctx.destination);

// 从第 0 秒开始设置音量为 0.5

gainNode.gain.setValueAtTime(0.5, 0);

gainNode.gain返回的是一个 AudioParam 对象,它有一个 setValueAtTime(value, startTime) 方法来在指定时间设置指定值。

// AudioContext.currentTime 返回的是当前时间

gainNode.gain.setValueAtTime(0.5, ctx.currentTime + 0);

// 1 秒后恢复音量

gainNode.gain.setValueAtTime(1.0, ctx.currentTime + 1);

摩尔斯电码(英语:Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、數字和标点符号。是由美國人艾爾菲德·維爾(Alfred Lewis Vail)與萨缪尔·摩尔斯(Samuel Finley Breese Morse)在1836年发明。 —— 维基百科

摩尔斯电码(英语:Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、數字和标点符号。是由美國人艾爾菲德·維爾(Alfred Lewis Vail)與萨缪尔·摩尔斯(Samuel Finley Breese Morse)在1836年发明。 —— 维基百科

播放摩斯密码所需要的 Web Audio API 上文都已介绍,现在我们只需要根据摩斯密码在不同的时间点设置音量为 1 或 0 就能实现电报效果了。

小结

本文只介绍了 Web Audio API 的冰山一角,更多的特性就等你自己发掘了~

HTML5 音频 API Web Audio

扫描二维码推送至手机访问。

版权声明:本文由飞速云SEO网络优化推广发布,如需转载请注明出处。

本文链接:http://zspsrg.cn/post/69483.html

分享给朋友:

“网页播放音乐代码(网站音乐播放器插件代码)” 的相关文章

交易平台冻结资金让充钱解冻怎么举报(交易平台资金冻结了需要充钱解冻吗)

交易平台冻结资金让充钱解冻怎么举报(交易平台资金冻结了需要充钱解冻吗)

今天给各位分享交易平台冻结资金让充钱解冻怎么举报的知识,其中也会对交易平台资金冻结了需要充钱解冻吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、游戏平台把我的资金冻结了,要求我给他们打500过去才能解冻,不然会被永久冻结,该怎么办,钱还能拿回 2、我在...

csgo武器皮肤交易平台app(csgo皮肤交易网)

csgo武器皮肤交易平台app(csgo皮肤交易网)

今天给各位分享csgo武器皮肤交易平台app的知识,其中也会对csgo皮肤交易网进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、csgo卖皮肤去哪个平台 2、csgo买皮肤去哪个平台? 3、csgo买皮肤去哪个平台 csgo卖皮肤去哪个平台 Igx...

房顶有十字梁怎么装修(有十字梁怎么吊顶)

房顶有十字梁怎么装修(有十字梁怎么吊顶)

本篇文章给大家谈谈房顶有十字梁怎么装修,以及有十字梁怎么吊顶对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、老师你好!我家楼房入户门口有个十字横梁怎么办好? 2、十字形梁怎么装 3、客厅有横梁如何装修?用这6个方法,更漂亮 4、房顶中间有两条长梁怎么装修好看?...

帝国cms模板免费下载(帝国cms模板免费下载安装)

帝国cms模板免费下载(帝国cms模板免费下载安装)

本篇文章给大家谈谈帝国cms模板免费下载,以及帝国cms模板免费下载安装对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、帝国CMS首页怎么使用网络上下载的帝国CMS模板,尽量详细点,要是对应6.0版的,谢谢… 2、帝国CMS学校用模板,能直接修改后使用的,满意后追加1...

创建教务管理系统数据库(学校教务管理系统数据库)

创建教务管理系统数据库(学校教务管理系统数据库)

本篇文章给大家谈谈创建教务管理系统数据库,以及学校教务管理系统数据库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、数据库原理设计教务管理系统信息要求是什么 2、求帮忙做个数据库综合教务管理系统 3、如何用SQL建立一个学生信息管理系统数据库 4、简述创建一个...

寻宝天行完美世界交易平台手机游戏(寻宝天行完美世界站)

寻宝天行完美世界交易平台手机游戏(寻宝天行完美世界站)

今天给各位分享寻宝天行完美世界交易平台手机游戏的知识,其中也会对寻宝天行完美世界站进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、寻宝天行购买完美世界国际板游戏角色问题 2、关于完美世界国际版寻宝网角色交易的问题、 3、完美世界国际版寻宝网天行购买角...