uniapp长按语音描述功能

这篇博客介绍了如何在uniApp中实现长按触发语音描述的功能,包括录音弹窗的显示、上滑取消录音的逻辑,以及录音完成后内容转变为可播放状态的处理。文章附带了效果图和关键代码示例,涉及到uniApp的录音管理和音频组件控制API的应用。
摘要由CSDN通过智能技术生成

在工作的时候还是会用到的一个功能。

长按语音描述会弹出正在录音的弹窗,上划一段距离会取消录音 并提示取消录音,录音完成当前的内容会变成微信能播放的状态 播放倒计时秒数 下面是效果图 可根据自己的样式需求去改变。

图1

图.2

html

主要分为两种状态:1.如果录音了 图2

                                2.没有录音  图1

弹出正在录音样式

弹出取消录音样式

<view class="vioce">
        <!-- 如果有录音 -->
        <block v-if="form.voice">
          <view class="voice_t" @click="play">
            <block v-if="playStatus">
              <image
                src="../../static/image/dongvoicewhite.gif"
                style="width: 32rpx; height: 32rpx"
              ></image>
            </block>
            <block v-else>
              <image
                src="../../static/image/voicewhite.png"
                style="width: 32rpx; height: 32rpx"
              ></image>
            </block>
            <text v-if="recordtime" class="voicetext">{
  { recordtime }}s</text>
          </view>
        </block>
        <!-- 没有录音 -->
        <block wx:else>
          <view
            class="startrecordbtn"
            @touchmove="touchMove"
            @touchstart="startHandel"
            @touchend="endHandle"
          >
            <text class="recordtext">语音描述</te
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
uniapp H5中使用百度语音识别API进行语音转文字可以按照以下步骤来进行: 1. 首先需要在百度AI开放平台上注册账号,创建应用,获取API Key和Secret Key。 2. 在uniapp项目中,引入百度语音识别API的SDK文件,可在百度AI开放平台上下载。 3. 在uniapp项目中,使用uni-app提供的录音组件进行录音,并将录音文件传递给百度语音识别API进行处理。 4. 将百度语音识别API返回的结果展示在页面上。 下面是一个简单的示例代码: ```html <!-- 引入录音组件 --> <uni-audio-recorder v-model="audioSrc" @success="onRecordSuccess" @error="onRecordError" /> <!-- 按钮触发识别 --> <button @click="startRecognize">开始识别</button> <div>{{result}}</div> ``` ```javascript export default { data() { return { // 录音文件路径 audioSrc: '', // 识别结果 result: '' } }, methods: { // 录音成功回调 onRecordSuccess(res) { this.audioSrc = res.tempFilePath }, // 录音失败回调 onRecordError(res) { uni.showToast({ title: '录音失败' }) }, // 开始识别 startRecognize() { // 引入百度语音识别API const SpeechRecognizer = uni.requireNativePlugin('uni-speech-recognizer') // 配置参数 const options = { apiKey: 'yourApiKey', secretKey: 'yourSecretKey', audioSource: this.audioSrc, audioFormat: 'wav', devPid: 1536 // 中文普通话 } // 调用API进行识别 SpeechRecognizer.recognizer(options, (res) => { this.result = res.result }, (err) => { uni.showToast({ title: '识别失败' }) }) } } } ``` 需要注意的是,使用uni-app提供的录音组件进行录音时,需要在manifest.json文件中添加权限声明: ```json { "permission": { "scope.record": { "desc": "用于录制和识别语音" } } } ``` 另外,需要在uni-app的manifest.json文件中添加nativePlugins声明,才能使用uni.requireNativePlugin引入百度语音识别API: ```json { "nativePlugins": [ { "name": "uni-speech-recognizer", "version": "1.0.0", "provider": "uni" } ] } ``` 希望这个示例能够帮助到您。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值