马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
前言
FileReader 接口答应 Web 应用程序异步读取存储在用户盘算机上的文件(或原始数据缓冲区)的内容,利用 File 或 Blob 对象指定要读取的文件或数据。
实现
调用FileReader API,并通过(window.AudioContext || window.webkitAudioContext)()创建音频上下文对象实现
代码示例
关键代码
- const customRequest = (file) => {
- //创建FileReader
- const fileReader = new FileReader();
- //读取成功完成时触发
- fileReader.onload = (event) => {
- const arrayBuffer = event.target.result;
- //创建音频上下文对象
- const audioContext = new (window.AudioContext ||
- window.webkitAudioContext)();
- audioContext.decodeAudioData(arrayBuffer, async (buffer) => {
- const duration = Math.floor(buffer.duration); // 获取音频时长
- console.log("音频时长:", duration);
- //下面可做对音频时长限制的操作
- });
- };
- //当读取由于错误而失败时触发。
- fileReader.onerror = (error) => {
- console.error("Error reading file:", error);
- };
- //开始读取指定的 Blob 中的内容,读取完成,result 属性中将包含一个表示文件数据的 ArrayBuffer 对象
- fileReader.readAsArrayBuffer(file);
- };
复制代码 注意:末了一定要记得调用readAsArrayBuffe来读取内容,否则获取不到FileReader的上下文。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |