html arm音频播放器,web页面播放arm格式音频
web頁面播放.arm格式音頻,arm-js語音插件
AMR 錄音機
(README in English)
純前端解碼、播放、錄音、編碼 AMR 音頻,無須服務器支持,基于?amr.js?和?RecorderJs。
注意:由于使用了 amr.js 做編碼和解碼,因此 js 文件(壓縮后,未 gzip)接近 500 KB,使用前請考慮。
特性
方便的 API 實現解碼、播放、錄音、編碼 AMR 文件。
支持 url 和 blob (即)方式獲取 AMR。
支持將瀏覽器??所支持的音頻格式(例如 MP3 或 OGG 音頻)轉換成 AMR 音頻。
編碼后的 AMR 文件可下載,無須服務器。
安裝
方法一:引入 js 文件
方法二:使用 npm
npm install benz-amr-recorder
var?BenzAMRRecorder?=?require('benz-amr-recorder');
用法
播放 AMR:
注意事項:跨域問題!!!!
var?amr?=?new?BenzAMRRecorder();
amr.initWithUrl('path/to/voice.amr').then(function()?{
amr.play();
});
amr.onEnded(function()?{
alert('播放完畢');
})
播放本地文件:
var?amr?=?new?BenzAMRRecorder();
var?amrFileObj?=?document.getElementById('amr-file');
amrFileObj.onchange?=?function()?{
amr.initWithBlob(this.files[0]).then(function()?{
amr.play();
});
}
錄制 AMR:
var?amrRec?=?new?BenzAMRRecorder();
amrRec.initWithRecord().then(function()?{
amrRec.startRecord();
});
下載 AMR:
window.location.href?=?window.URL.createObjectURL(amr.getBlob());
把 MP3 轉換成 AMR (需要瀏覽器原生支持 MP3):
var?amrFromMp3?=?new?BenzAMRRecorder();
amrFromMp3.initWithUrl('path/to/file.mp3').then(function()?{
//?下載?amr?文件
window.location.href?=?window.URL.createObjectURL(amrFromMp3.getBlob());
})
API
初始化對象
/**
*?是否已經初始化
*?@return?{boolean}
*/
amr.isInit();
/**
*?使用浮點數據初始化
*?@param?{Float32Array}?array
*?@return?{Promise}
*/
amr.initWithArrayBuffer(array);
/**
*?使用?Blob?對象初始化(?)
*?@param?{Blob}?blob
*?@return?{Promise}
*/
amr.initWithBlob(blob);
/**
*?使用?url?初始化
*?@param?{string}?url
*?@return?{Promise}
*/
amr.initWithUrl(url);
/**
*?初始化錄音
*?@return?{Promise}
*/
amr.initWithRecord();
事件
注意:事件不會疊加,也就是說,新注冊的事件將覆蓋掉舊的事件。
/**
*?播放
*?@param?{Function}?fn
*/
amr.onPlay(function()?{
console.log('開始播放');
});
/**
*?停止(包括播放結束)
*?@param?{Function}?fn
*/
amr.onStop(function()?{
console.log('停止播放');
});
/**
*?播放結束
*?@param?{Function}?fn
*/
amr.onEnded(function()?{
console.log('播放結束');
});
/**
*?開始錄音
*?@param?{Function}?fn
*/
amr.onStartRecord(function()?{
console.log('開始錄音');
});
/**
*?結束錄音
*?@param?{Function}?fn
*/
amr.onFinishRecord(function()?{
console.log('結束錄音');
});
播放控制
/**
*?播放
*/
amr.play();
/**
*?停止
*/
amr.stop();
/**
*?是否正在播放
*?@return?{boolean}
*/
amr.isPlaying();
錄音控制
/**
*?開始錄音
*/
amr.startRecord();
/**
*?結束錄音,并把錄制的音頻轉換成?AMR
*?@return?{Promise}
*/
amr.finishRecord();
/**
*?放棄錄音
*/
amr.cancelRecord();
/**
*?是否正在錄音
*?@return?{boolean}
*/
amr.isRecording();
其他
/**
*?獲取音頻的時間長度(單位:秒)
*?@return?{Number}
*/
amr.getDuration();
/**
*?獲取?AMR?文件的?Blob?對象(用于下載文件)
*?@return?{Blob}
*/
amr.getBlob();
尚未完成的特性
使用 Worker 編碼解碼 AMR。
暫停功能。
播放進度控制。
總結
以上是生活随笔為你收集整理的html arm音频播放器,web页面播放arm格式音频的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用PIN码破解wifi密码(WPA2-
- 下一篇: 9月【笔耕不辍】勋章活动获奖名单公布