在 React Native 中开发音频应用时,我们需要获取麦克风的音量数据。而 react-native-mic-level
就是一款可以获取麦克风音量数据的 npm 包。本文将介绍如何在 React Native 项目中使用 react-native-mic-level
包,以及如何解析其返回值。
安装
在 React Native 项目中,使用以下命令安装 react-native-mic-level
:
npm install --save react-native-mic-level
或者使用 yarn 安装:
yarn add react-native-mic-level
安装完成后,需要执行以下命令链接该包:
react-native link react-native-mic-level
使用
react-native-mic-level
提供了两种方式获取麦克风音量数据。
方式一
在需要监听麦克风音量时,通过调用 react-native-mic-level
的 start()
开始获取麦克风的音量数据。调用 stop()
结束获取。
以下为 react-native-mic-level
的使用示例:
import MicLevel from "react-native-mic-level"; class App extends React.Component { onStart = () => { console.log("start"); MicLevel.start(e => { console.log(e.value); }); }; onStop = () => { console.log("stop"); MicLevel.stop(); }; render() { return ( <View> <Button title="Start" onPress={this.onStart} /> <Button title="Stop" onPress={this.onStop} /> </View> ); } }
该示例监听用户点击 Start
按钮后开始获取音量数据,而后监听用户点击 Stop
按钮结束获取音量数据。在每次获取到音量数据时,调用 callback 函数并将音量值通过参数传递给 callback 函数。
方式二
react-native-mic-level
提供了一种直接获取麦克风音量数据的方式。调用 MicLevel.getLevel()
函数获取当前麦克风音量值。
以下为 MicLevel.getLevel()
函数的使用示例:
import MicLevel from "react-native-mic-level"; class App extends React.Component { onPress = () => { const level = MicLevel.getLevel(); console.log(level); }; render() { return <Button title="Get Level" onPress={this.onPress} />; } }
该示例点击 Get Level
按钮直接获取当前麦克风音量值,并将音量值输出到控制台。
解析返回值
示例代码 console.log(e.value)
和 console.log(level)
中都输出了音量值。这里介绍如何解析音量值。
例如,e.value
和 level
值都为 0.3 时,该值表示目前麦克风录制的声音强度为 30%。
总结
本文介绍了如何在 React Native 项目中使用 react-native-mic-level
包获取麦克风音量数据。同时,本文也对音量值进行了解析,以帮助读者更好的理解该数据。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/60067380890c4f72775841ec