摘要:
本系列文章主要是介绍 Web Audio API 的相关知识,以及 web语音通信 中会遇到的一些问题,阐述可能存在错误,还请多多斧正!通过设备获取音频流会不可避免的渗入一些杂音,这些杂音可能来自你周边的环境,也有可能来自录音设备本身,一些低频的声音还好,人耳难以分辨出来,但是那些高频的白噪声对音质的影响是特别大的,如我们听收音机没有调到正确的频率上,会听到吱吱兹兹的刺耳的杂音。这些杂音不仅增大了音频流信号本身的体积,而且我们的耳朵也不喜欢,所以在传输之前必须对音频做相应的滤波处理。本文地址:http://www.cnblogs.com/hustskyking/p/webAudio-filte 阅读全文
随笔档案-2014年02月
[Voice communications] 声道的转换
2014-02-27 13:17 by Barret李靖, 2513 阅读, 收藏, 编辑
摘要:
本系列文章主要是介绍 Web Audio API 的相关知识,以及 web语音通信 中会遇到的一些问题,阐述可能存在错误,还请多多斧正!很多粤语剧都提供了两个声道,一个左声道为粤语,一个右声道有国语。观看者可以自由切换声道,那么切换声道的原理是什么呢?在播放器中,只需要把不同的声道切换到声轨就行了,因为有左右两个声道,所以播放器至少是包含两个声轨的。如果我们想听粤语,只需要将右声道声轨的声音设置为 0,或者临时删掉右声道声轨。本文主要是利用 GainNode 节点控制音量的属性实现两个音轨之间的相互切换,Cross-fading 的意思可以在后面的 DEMO 中用耳朵体会出来~本文地址:htt 阅读全文
[Voice communications] 音量的控制
2014-02-26 12:56 by Barret李靖, 3294 阅读, 收藏, 编辑
摘要:
改变音频的音量是音频处理中最基础的部分,我们可以利用 GainNode 来构建 Mixers 的结构块。GainNode 的接口是很简单的:interface GainNode : AudioNode { readonly attribute AudioParam gain;};通过调节 GainNode.gain.value 就可以实现音频大小的调控了。下文会先介绍使用 Processor 来处理,这是一个最通用的节点,可以处理很多东西。在上文看得到的音频流中我们也使用了该节点。本文地址:http://www.cnblogs.com/hustskyking/p/webAudio-vol... 阅读全文
[Voice communications] 看得到的音频流
2014-02-22 20:45 by Barret李靖, 2690 阅读, 收藏, 编辑
摘要:
上文介绍了 Web Audio API 的相关知识,以及如何在你的 web 程序中引入 音频流,内容都是介绍性的,所以没有写太多 DEMO。本文重点讲解如何利用 Web Audio API 中的中间节点拿到音频信号的信息,并将信息转化成信号图绘制到 canvas 中。从上文中我们了解到,AudioContext 是音频播放和处理的一个环境,大概的流程是这个样子: +---------------+------------------------------------+ | AudioContext | | +---... 阅读全文
[Voice communications] 让音乐响起来
2014-02-20 12:47 by Barret李靖, 2771 阅读, 收藏, 编辑
摘要:
本系列文章主要是介绍 Web Audio API 的相关知识,由于该技术还处在 web 草案阶段(很多标准被提出来,至于取舍需要等待稳定版文档来确定,草案阶段的文档很多都会被再次编辑甚至重写、全部删除等,不适合作为正式参考),很多 API 都是未确定的,目前支持 Web Audio API 的浏览器是较新版的 Google Chrome 和 FireFox,其他浏览器暂时还没有兼容。现在的网络硬件环境还没有达到普遍语音通信的条件,但是 web语音通信 一定会成为后期 web 研究的一个重要话题,凭着一点个人兴趣,拿出来研究研究~本文主要介绍 Web Audio API 的相关特性,以及音频源的 阅读全文
[解惑]JavaScript事件机制
2014-02-17 21:18 by Barret李靖, 17161 阅读, 收藏, 编辑
摘要:
群里童鞋问到关于事件传播的一个问题:“事件捕获的时候,阻止冒泡,事件到达目标之后,还会冒泡吗?”。初学 JS 的童鞋经常会有诸多疑问,我在很多 QQ 群也混了好几年了,耳濡目染也也收获了不少,以后会总结下问题的结论,顺便说说相关知识的扩展~如果贸然回答还会冒泡,这不太好的,稍微严谨点考虑 0级 DOM 事件模型的话,这个答案是否定的。但是在 2级 DOM 事件模型中,答案是肯定的,这个问题值得探讨记录下。本文地址:http://www.cnblogs.com/hustskyking/p/problem-javascript-event.html一、问题结论netscape 和 微软 曾经的战争 阅读全文
JavaScript多文件下载
2014-02-12 21:50 by Barret李靖, 40851 阅读, 收藏, 编辑
摘要:
对于文件的下载,可以说是一个十分常见的话题,前端的很多项目中都会有这样的需求,比如 highChart 统计图的导出,在线图片编辑中的图片保存,在线代码编辑的代码导出等等。而很多时候,我们只给了一个链接,用户需要右键点击链接,然后选择“另存为”,这个过程虽说不麻烦,但还是需要两步操作,倘若用户想保存... 阅读全文