得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点击即可播放.点击获取录音即可下载最后一次的音频: 播放下载都是围绕blob文件.播放就是让隐藏的audio标签的地址指向内存中的blob: this.play = function (audio,blob) { blob=blob||this.getBlob().blob; audio.src =…
这段时间给GitHub Recorder开源库添加了两个新的音频可视化功能,比以前单一的动态波形显示丰富了好多(下图后两行是不是比第一行看起来丰满些):趁热打铁写了一个音频可视化相关扩展测试代码,下面这张就是测试Gif截图,看起来还算过得去,测试地址 上面这些波形.频率的计算和显示都是由纯js代码编写的,并未用到浏览器专有特性,因此可以方便的移植到其他语言实现,比如移植到Android.IOS原生实现. FrequencyHistogramView音频可视化频率直方图显示 此功能源码:frequ…
前一阵子由于考博学习须要,看了<数字信号处理>,之前一直不清除这门课的理论在哪里应用比較广泛. 这次正巧用Audition处理了一段音频,猛然发现<数字信号处理>这门课还是很实用的,在音频处理领域至少是这样.在此记录一下几步简单操作. 一.频谱 打开Audition.拖入一段音频.默认打开的是音频时域的波形图.波形图的横坐标是时间,纵坐标是採样值的大小. 上面那个图事实上就是音频文件里全部採样点连起来的一条线,只是因为採样点太密集了,所以根本看不出来採样点了.把波形图不停地放大,放…
Recorder H5 GitHub开源库随着支持功能的增多,音频转码处理效率渐渐的跟不上需求了,近期抽时间对音频转码部分进行了升级优化,以支持更多实用的功能. 另外IOS的Hybrid App也完成了移植,Android和IOS都有了Demo App. 在线测试,GitHub地址:https://github.com/xiangyuecn/Recorder 一.Recorder H5录音库的特性 (1)浏览器支持 PC:包括但不限于Chrome.Firefox Android:Chrome.F…
做一项目,用到“叫号功能”,网页上有一“叫号”按钮,点击后就读数据库中存的号码,如123号, 然后就发声音出来, 思路是网上下载0123456789的叫号声音,然后按钮点击事件里就在JS里写用那个HTML5的video来播放声音就行了,顺序播放声音的话就得用到Setinterval隔一段时间来播放声音的, 网上搜索了一下,终于做出个简单的示例了: 上面的四个按钮分别播放4种声音 下面的在文本框里输入数字后,再点播放,会按顺序来进行播放的. 源码下载:http://image.niunan.net…
常见排序算法(JS版)包括: 内置排序,冒泡排序,选择排序,插入排序,希尔排序,快速排序(递归 & 堆栈),归并排序,堆排序,以及分析每种排序算法的执行时间. index.html <!DOCTYPE html> <html> <head> <title>twobin 常见排序算法 (JS版) </title> <meta http-equiv="content-type" content="text/…
得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点击即可播放.点击获取录音即可下载最后一次的音频: 播放下载都是围绕blob文件.播放就是让隐藏的audio标签的地址指向内存中的blob: this.play = function (audio,blob) { blob=blob||this.getBlob().blob; audio.src =…
之前没有写博客的习惯,这是我的第一个博客,有些的不好的地方,希望大家多多提意见 js版的贪吃蛇相对比较简单,废话不多说直接上代码,有需要注意的地方我会标红,github源码地址https://github.com/masterChunlinHan/snake.git 所有的代码都在一个文件中,因为总共就没多少代码 1,首先定义几个后面要用到的全局变量 地图定义为全局的是因为:后面的食物和蛇都要加到地图上,而添加的方法在食物和蛇各自的构造器中,需要地图是全局的才能被访问到 食物定义成全局的是因为:…
过去十几年,通信与多媒体技术的快速发展极大地扩展了数字信号处理(DSP)的应用范围.眼下正在发生的是,以更高的速度和更低的成本实现越来越复杂的算法,这是针对高级信息服更高带宽以及增强的多媒体处理能力等需求的日益增加的结果.一些高性能应用正在不断发展,其中包括高级有线和无线音频.数据和视频处理. 通信和多媒体应用的发展,如互联网通信.安全无线通信以及消费娱乐设备,都在驱动着对能够有效实现复数运算和信号处理算法的高性能设备的需求. 这些应用中需要一些典型的DSP算法包括快速傅里叶变换(FFT).离散…
之前我在自己的博客里发表了一篇用angularJs自定义指令实现的分页插件,今天简单改造了一下,改成了原生JavaScript版本的分页插件,可以自定义一些简单配置,特此记录下来.如有不足之处,欢迎指出. 本插件可以自定义的功能: 1. 可初始化每页条数,以及重新选择每页条数 2.自定义首末页.上下页按钮的显示内容(是:<<.  >>.  < .  >    还是:首页.末页.上一页.下一页) 3.设置当前页在一定范围时,是否显示省略号按钮 4.自定义当前页按钮与省略号…