目录:
- 思路
- 安装中间件
- 获取录音权限、实现录音功能
- 调用接口,实现上传录音文件
思路
- 获取用户录音权限;
- 实现本地录音功能、播放录音(注意点:播放时,需要使用本地路径,而不是服务器地址)、删除录音
- 实现上传接口的封装,需要 formData 对象的格式
- 调用上传接口,实现录音上传 (使用的
fetch
请求接口)
具体步骤
1. 安装中间件 react-native-audio
和 react-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()
}