>本教程演示了使用媒体捕获和流动API(MediaStream API)构建用于音频录制和服务器端存储的Web应用程序。 用户记录音频,将其保存到服务器,然后查看/播放保存的录音。 服务器端是用Node.js实现的,并且客户端使用HTML,CSS(Bootstrap)和JavaScript。
密钥功能:
- 客户端录制:
服务器端存储:>
- 播放和管理:>用户可以直接从网页中播放其保存的录音。 丢弃选项允许删除录音。
-
>服务器设置(node.js&express):>
>
项目初始化:>创建一个项目目录,初始化npm(),然后安装依赖项(
)。
- >服务器创建(index.js):>创建一个基本的Express服务器来处理路由和文件上传。
npm init -y
npm i express nodemon multer
> multer集成: multer中间件被配置为处理文件上传,将其保存到带有唯一文件名的时间戳的目录中。- >
API端点:- >定义了两个API端点:(post)上传记录和(get)检索保存的记录列表。
uploads
>
- 服务器启动:>使用>。
/record
/recordings
录制页面(客户端): -
npm start
html结构:使用记录按钮,音频播放器容器和一个用于显示已保存的记录的容器创建HTML PAGE(
)。 Bootstrap用于造型。
CSS样式(): css样式接口元素。
- > javaScript逻辑():> javaScript处理用户交互,使用
public/index.html
录制并使用fetch API上传。 事件听众管理录制开始/停止,保存,丢弃和播放。 >
-
public/assets/css/index.css
- 工作流:
public/assets/js/record.js
- 用户单击记录按钮。
- 浏览器提示麦克风访问。
>
- >经许可后,音频录制开始。
- 在停止时,录制被保存为斑点。
>
- 用户可以保存或丢弃录音。
- >保存的录音通过
/record
端点上传到服务器。 >
-
/recordings
端点检索页面上显示的保存文件的列表。
结论:
本教程提供了构建功能性录音应用程序的综合指南。 使用MediaStream API和结构良好的服务器端组件可确保具有良好且用户友好的体验。 进一步的增强功能可能包括更高级的功能,例如文件验证,用户身份验证和改进的UI元素。
关于MediaStream API的FAQ
:>
- >什么是mediastream api?
>
>它如何工作?- >通过JavaScript从设备(麦克风,相机)提供对多媒体流的访问。
音频和视频支持?
- >视频捕获?>使用
访问相机。
- 屏幕共享?可能需要额外的浏览器权限。
getUserMedia
以上是如何使用MediaStream API录制音频的详细内容。更多信息请关注PHP中文网其他相关文章!