vue + css3实现微信录制播放语音效果

本文使用vue + css3实现语音录制效果与语音播放效果。

效果图 ↓↓↓

 

<template>
  <div>
    <!-- 音频录制 -->
    <div class="audio-record" v-show="recordStatus">
      <img class="cancel-img" width="20" src="@/assets/image/close.png" @click="cancelRecord()" />

      <p class="duration-seconds-style">
        <span v-show="isDurationSeconds">已录制&nbsp;{
  {durationSeconds}}″</span>
        <span v-show="countDownRecord">{
  {countDownSecond}}″&nbsp;后停止录制</span>
      </p>

      <div class="icon">
        <img src="@/assets/image/audio_icon.png" width="45" />
        <div class="voice-animation" ref="voiceAnimation">
          <p v-for="item in 7" :key="item"></p>
        </div>
      </div>

      <div class="record-status" v-show="!startRecord" @click="startAudioRecord">
        <p>开始录制</p>
      </div>
      <div class="btn" v-show="startRecord">
        <div class="cancel" @click="cancelRecord">
          <p>取消</p>
        </div>
        <div class="send" @click="sendRecord">
          <p>发送</p>
        </div>
      </div>
    </div>

    <!-- 语音条 -->
    <div class="audio-detail-msg" v-show="isShowAudio">
      <div
        class="audio-style"
        :class="{'add-animation': isPlay}"
        :style="{width: handle
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
首先,您需要安装 `express-ws` 和 `vue3`。可以使用以下命令进行安装: 在服务器端(使用 Express.js): ```bash npm install express express-ws ``` 在客户端(使用 Vue.js): ```bash npm install vue@next ``` 接下来,您可以按照以下步骤实现微信聊天的代码: 1. 服务器端代码(Express.js + express-ws): ```javascript // server.js const express = require('express'); const expressWs = require('express-ws'); const app = express(); expressWs(app); const clients = []; app.ws('/chat', (ws, req) => { clients.push(ws); ws.on('message', (msg) => { // 广播收到的消息给所有客户端 clients.forEach((client) => { client.send(msg); }); }); ws.on('close', () => { // 移除断开连接的客户端 const index = clients.indexOf(ws); if (index !== -1) { clients.splice(index, 1); } }); }); app.listen(3000, () => { console.log('Server started on port 3000'); }); ``` 2. 客户端代码(Vue.js): ```html <!-- App.vue --> <template> <div> <h1>微信聊天</h1> <div class="chat-box"> <div v-for="(message, index) in messages" :key="index" class="message">{{ message }}</div> </div> <input v-model="inputMessage" @keyup.enter="sendMessage" type="text" placeholder="输入消息" /> </div> </template> <script> import { ref } from 'vue'; export default { name: 'App', setup() { const inputMessage = ref(''); const messages = ref([]); const ws = new WebSocket('ws://localhost:3000/chat'); ws.onmessage = (event) => { // 接收到服务器发送的消息 messages.value.push(event.data); }; const sendMessage = () => { // 发送消息到服务器 if (inputMessage.value.trim() !== '') { ws.send(inputMessage.value); inputMessage.value = ''; } }; return { inputMessage, messages, sendMessage, }; }, }; </script> <style> .message { margin-bottom: 10px; } </style> ``` 3. 在一个新的文件中,创建一个 Vue 实例并将其挂载到页面上: ```javascript // main.js import { createApp } from 'vue'; import App from './App.vue'; createApp(App).mount('#app'); ``` 在完成上述步骤后,您可以运行服务器端代码(`node server.js`),然后在浏览器中访问客户端代码,即可实现微信聊天功能。请确保服务器和客户端代码在同一台机器上运行,并且端口号(3000)没有被占用。 当有客户端发送消息时,服务器将广播该消息给所有连接的客户端,从而实现聊天功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伍零伍零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值