<audio src="b.mp3" controls="controls" preload ></audio> $('audio')[0].paused //如果正在播放则返回false $('audio')[0].play() //播放 $('audio')[0].pause() //暂停
语音波浪 声波效果,推荐使用waveview.js。
https://github.com/HaloMartin/MCVoiceWave
waveview.js,4kb大小源码,录音时动态显示波形,具体样子参考演示地址页面。此扩展参考MCVoiceWave库编写的,具体代码在https://github.com/HaloMartin/MCVoiceWave/blob/f6dc28975fbe0f7fc6cc4dbc2e61b0aa5574e9bc/MCVoiceWave/MCVoiceWaveView.m中。
此扩展是在录音时onProcess回调中使用;bufferSize会影响绘制帧率,越小越流畅(但越消耗cpu),默认配置的大概12帧/s。基础使用方法:
var wave; var rec=Recorder({ onProcess:function(buffers,powerLevel,bufferDuration,bufferSampleRate){ wave.input(buffers[buffers.length-1],powerLevel,bufferSampleRate);//输入音频数据,更新显示波形 } }); rec.open(function(){ wave=Recorder.WaveView({elem:".elem"}); //创建wave对象,写这里面浏览器妥妥的 rec.start(); });
【构造】wave=Recorder.WaveView(set)
构造函数,set参数为配置对象,默认配置值如下:
set={ elem:"css selector" //自动显示到dom,并以此dom大小为显示大小 //或者配置显示大小,手动把waveviewObj.elem显示到别的地方 ,width:0 //显示宽度 ,height:0 //显示高度 //以上配置二选一 scale:2 //缩放系数,因为正整数,使用2(3? no!)倍宽高进行绘制,避免移动端绘制模糊 ,speed:8 //移动速度系数,越大越快 ,lineWidth:2 //线条基础粗细 //渐变色配置:[位置,css颜色,...] 位置: 取值0.0-1.0之间 ,linear1:[0,"rgba(150,97,236,1)",1,"rgba(54,197,252,1)"] //线条渐变色1,从左到右 ,linear2:[0,"rgba(209,130,253,0.6)",1,"rgba(54,197,252,0.6)"] //线条渐变色2,从左到右 ,linearBg:[0,"rgba(255,255,255,0.2)",1,"rgba(54,197,252,0.2)"] //背景渐变色,从上到下 }