0.2.1 • Published 3 years ago
@hai2007/audio v0.2.1
audio.js
🔇 前端处理音频的核心模块。
Issues
使用的时候遇到任何问题或有好的建议,请点击进入issue!
如何引入
我们推荐你使用npm的方式安装和使用:
npm install --save @hai2007/audio
当然,你也可以通过CDN的方式引入:
<script src="https://cdn.jsdelivr.net/npm/@hai2007/audio@0"></script>
如何使用
首先,需要创建一个声音管理对象:
import AudioJS from '@hai2007/audio'; // 如果是CDN直接使用即可
new AudioJS(arrayBuffer).then(function(audioJS){
// 然后,你就可以使用audioJS处理arrayBuffer记录的这段声音了
});
记录着声音的arrayBuffer如何获取,可以由很多方法,我们那本地文件举例子:
<input type="file" id="source" onchange="doit()" accept="audio/*">
选择声音后,会回调doit方法:
var file = document.getElementById('source').files[0];
var reader = new FileReader();
reader.onload = function () {
// reader.result 便是上面的arrayBuffer
};
reader.readAsArrayBuffer(file);
}
下面,我们来看看audioJS上面有哪些方法可以供使用。
- 提取片段
提取指定的片段记录在内部,按照序号编号(从0开始):
// 开始和结束秒
audioJS.extract(beginSecond,endSecond);
- 播放
通过传递一个index来表示播放上面提取的哪个片段,如果什么都不传递,表示播放当前维护的整个声音:
audioJS.play(index);
- 下载
通过传递一个index来表示下载上面提取的哪个片段,如果什么都不传递,表示下载当前维护的整个声音:
audioJS.download(index);
- 合并
可以传递至少一个index,表示把传递的坐标对应的内容按照顺序合并后追加到内部的片段记录结尾:
audioJS.merge(index1,index2,...);
- 重置
就是把内部维护的片段等信息重新初始化,相当于重新加载当前维护的声音:
audioJS.reset();
开源协议
Copyright (c) 2021 hai2007 走一步,再走一步。