H5app录制语音并上传服务器demo

这是一个H5app的语音录制并上传到服务器的demo。利用HTML5 API,5秒音频大约7KB,适用于不同格式。注意浏览器的音频播放兼容性问题,依赖于jquery-2.1.4.js。提供相关H5文档链接,以及音频兼容性表格。
摘要由CSDN通过智能技术生成

复制即用语音录制demo,根据音频录制格式的不同,5s音频大概7KB左右,如果需要更详细的H5API介绍,用力戳:

w3cschool H5 文档
H5官网文档

注意:

手机上基本可以播放任何可以录制的音频格式,如mp3/wav/aac/amr,
但是如果放在网页上面播放,需要查看该网页是否兼容播放该格式

依赖:jquery-2.1.4.js

话不多少,上代码:

  • html body 代码
<!-- 怕你手指太大,点不了按钮,所以弄了这个div也能让你播放音频喔 -->
<div id="adiv" style="width: 100px;height: 100px;background: cornflowerblue"></div>

<audio id="voice">
<!-- 播放音频用 -->
</audio>
<input type="button" value="Start Record" onclick="startRecord();"/>
<input type="button" value="Stop Record&
h5端实现录制音频并上传服务器,可以使用浏览器提供的`MediaRecorder`API进行录制,然后使用`XMLHttpRequest`对象或`fetch`函数将录制完成的音频文件上传服务器。 以下是一个简单的示例代码,仅供参考: ```javascript // 获取录音按钮和上传按钮 const recordBtn = document.querySelector('#record-btn'); const uploadBtn = document.querySelector('#upload-btn'); // 定义录音相关变量 let mediaRecorder = null; // MediaRecorder对象 let audioChunks = []; // 录音数据数组 // 点击录音按钮开始录音 recordBtn.addEventListener('click', () => { // 请求用户授权使用麦克风 navigator.mediaDevices.getUserMedia({ audio: true }) .then(stream => { // 创建MediaRecorder对象 mediaRecorder = new MediaRecorder(stream); // 监听数据可用事件 mediaRecorder.addEventListener('dataavailable', event => { audioChunks.push(event.data); }); // 开始录音 mediaRecorder.start(); }); }); // 点击上传按钮上传录音文件 uploadBtn.addEventListener('click', () => { // 停止录音 mediaRecorder.stop(); // 创建Blob对象 const audioBlob = new Blob(audioChunks, { type: 'audio/wav' }); // 创建FormData对象 const formData = new FormData(); formData.append('audio', audioBlob); // 发送POST请求上传文件 fetch('/upload', { method: 'POST', body: formData }) .then(response => { console.log(response); }); }); ``` 此代码使用了`MediaRecorder`API进行录音,并将录音数据存储在`audioChunks`数组中,在点击上传按钮时将数据数组转换为Blob对象并使用`fetch`函数发送POST请求上传服务器。在服务器端可以通过解析HTTP请求中的`audio`字段获取Blob对象并保存为音频文件。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值