android - react-native-audio-recorder-player , audioRecorderPlayer.stopRecorder() crahs app
问题描述
react-native-audio-recorder-player,用于在我的项目中录制音频的库。当我开始录制时一切正常,但是当我调用函数停止录制音频“audioRecorderPlayer.stopRecorder()”时关闭应用程序。它可以在 IOS(模拟器和真实设备)和 Android 模拟器上完美运行,但它不适用于真实的 android 设备。
此错误的原因可能是什么,如何解决?
"react-native": "0.63.3",
"react-native-audio-recorder-player": "^2.6.0-rc3",
控制挂钩
const [record, setRecord] = useState(false);
启动记录功能
async function handleRecord() {
try {
const permissions = await getPermissions();
if (permissions) {
const path = Platform.select({
ios: `audio-${new Date().getTime()}.m4a`,
android: `sdcard/audio-${new Date().getTime()}.mp3`
});
const audioSet = {
AudioEncoderAndroid: AudioEncoderAndroidType.AAC,
AudioSourceAndroid: AudioSourceAndroidType.MIC,
AVEncoderAudioQualityKeyIOS: AVEncoderAudioQualityIOSType.high,
AVNumberOfChannelsKeyIOS: 2,
AVFormatIDKeyIOS: AVEncodingOption.aac
};
const result = await audioRecorderPlayer.startRecorder(path, audioSet);
setRecord(true);
audioRecorderPlayer.addRecordBackListener(e => {
return;
});
}
} catch (err) {
}
}
停止记录功能
async function onStopRecord() {
try {
const result = await audioRecorderPlayer.stopRecorder();
audioRecorderPlayer.removeRecordBackListener();
setRecord(false);
setFiles([
...files,
{
uri: result,
type: "audio/mpeg",
name: `audio-${new Date().getTime()}.mp3`
}
]);
}catch(error){
Alert.alert(
"Erro",
error
);
}
}
解决方案
推荐阅读
- mongodb - mongodb图集搜索索引
- asp.net - 将带有外键的 sql 表设计更改为模型类
- git - 壁球拉到一个提交时的冲突
- ruby-on-rails - 如何为我在安装 ubuntu 子系统后开始使用 windows rails 的 rails 项目使用 WSL Ubuntu
- swiftui - SwiftUI:延迟网格的水平滚动视图内的固定标题视图
- r - 在ggplot中分组的两个级别缩放?
- java - 附加 DTO 和查询或具有映射子项的单个实体
- vba - 如何在 Excel 中使用 VBA 最后在数据透视表中添加百分比列
- angular - ngbpopover (document:click)="p3.close()" 不工作。打开新弹出窗口时现有弹出窗口未关闭
- php - 如何仅在 php 中使用 IMAP 从 zimbra 帐户获取最近一小时电子邮件的电子邮件