网页播放mp3代码(网页播放mp3代码是什么)

在 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年发明。 —— 维基百科

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

小结

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

HTML5 音频 API Web Audio

网页播放mp3代码(网页播放mp3代码是什么),网页播放mp3代码(网页播放mp3代码是什么),网页播放mp3代码,文章,HTML5,是什么,第1张


【免责声明】:

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

【关于转载】:

本站尊重互联网版权体系,本站部分图片、文章大部分转载于互联网、所有内容不代表本站观点、不对文章中的任何观点负责、转载的目的只用于给网民提供信息阅读,无任何商业用途,所有内容版权归原作者所有
如本站(文章、内容、图片、视频)任何资料有侵权,先说声抱歉;麻烦您请联系请后台提交工单,我们会立即删除、维护您的权益。非常感谢您的理解。

【附】:

二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

注:本站资源来自网络转载,版权归原作者和公司所有,如果有侵犯到您的权益,请第一时间联系我们处理!

-----------------------------------------------------------------------------------------------------------

【版权声明】:

一、本站致力于为源码爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、如有内容侵犯您的版权或其他利益的,请编辑邮件并加以说明发送到站长邮箱。站长会进行审查之后,情况属实的会在三个工作日内为您删除。
-----------------------------------------------------------------------------------------------------------


内容投诉
源码村资源网 » 网页播放mp3代码(网页播放mp3代码是什么)

1 评论

您需要 登录账户 后才能发表评论

发表评论

欢迎 访客 发表评论