react native 实现本地录音、播放录音、删除录音功能,并调用接口上传录音文件

目录:

  1. 思路
  2. 安装中间件
  3. 获取录音权限、实现录音功能
  4. 调用接口,实现上传录音文件

思路

  • 获取用户录音权限;
  • 实现本地录音功能、播放录音(注意点:播放时,需要使用本地路径,而不是服务器地址)、删除录音
  • 实现上传接口的封装,需要 formData 对象的格式
  • 调用上传接口,实现录音上传 (使用的 fetch 请求接口)

具体步骤

1. 安装中间件 react-native-audioreact-native-sound
版本:

"react": "16.8.3",
"react-native": "0.59.9",
"react-native-audio": "4.3.0",
"react-native-sound": "0.11.0"

2. 获取用户录音权限、实现本地录音功能、播放录音、删除录音
  • (注意⚠️点:播放时,需要使用本地路径,而不是服务器地址)
【主要代码如下】

【- 组织中引入中间件 `react-native-audio`(实现录音功能)、`react-native-sound`(实现播放语音功能)】
【- 获取录音授权】
【- 实现本地录音】
【- 本地录音播放、删除】

...
import React, { Component } from 'react';
import { AudioRecorder, AudioUtils } from 'react-native-audio';
import Sound from 'react-native-sound';
import {requestAudio} from './audioAction'; // 此文件内容在下面
...


class Test extends Component {
    constructor(props) {
        super(props);
        this.state = {
            ...
            hasPermission: undefined, //录音 授权状态  
            audioPath: AudioUtils.DocumentDirectoryPath + `/quick_audio_${new Date().getTime()}.aac`, // 文件路径  
            stop: false,     //录音是否停止  
            currentTime: 0,  //录音时长  
            ...
        }
    }
    
    componentDidMount() {
        this.getAudioAuthorize()
    }
    
  
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值