点击录音3秒后必定闪退
- 发布:2024-04-24 14:15
- 更新:2024-09-25 10:00
- 阅读:827
【报Bug】烦请uniapp团队给个答复,打包为安卓后,使用录音并加入官方mp3文件支持模块audio-mp3aac-release.aar,闪退
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: Alpha
HBuilderX版本号: 4.12
手机系统: Android
手机系统版本号: Android 14
手机厂商: 华为
手机机型: 小米14 红米k70 华为mate40
页面类型: vue
vue版本: vue3
打包方式: 离线
项目创建方式: HBuilderX
示例代码:
操作步骤:
点击录音3秒后必定闪退
点击录音3秒后必定闪退
预期结果:
点击录音不闪退
点击录音不闪退
实际结果:
点击录音3秒后必定闪退
点击录音3秒后必定闪退
bug描述:
将文件打包为安卓app。需要使用mp3格式。需要将压缩包里的audio-mp3aac-release.aar文件放入安卓sdk中。然后制作为apk,运行在模拟器或者手机中,点击录音3秒后必定闪退
以下是崩溃日志:
BOARD:EBG
BOOTLOADER:unknown
BRAND:HONOR
CPU_ABI:arm64-v8a
CPU_ABI2:
DEVICE:HWEBG
DISPLAY:EBG-AN00 4.0.0.118(C00E116R4P4)
FINGERPRINT:HONOR/EBG-AN00/HWEBG:12/HUAWEIEBG-AN00/104.0.0.118C00:user/release-keys
FINGERPRINTEX:HONOR/EBG-AN00/HWEBG:12/HUAWEIEBG-AN00/104.0.0.118C00:user/release-keys
HARDWARE:kirin990
HOST:cn-west-hcd-5a-5a57c670e1698663879709-856645899-vzj77
HWFINGERPRINT:///EBG-LGRP1-CHN 4.0.0.118/EBG-AN00-CUST 4.0.0.116(C00)/EBG-AN00-PRELOAD 4.0.0.4(C00R4)/
ID:HUAWEIEBG-AN00
IS_DEBUGGABLE:false
IS_EMULATOR:false
MANUFACTURER:HUAWEI
MODEL:EBG-AN00
ODM_SKU:EBG-AN00
PERMISSIONS_REVIEW_REQUIRED:true
PRODUCT:EBG-AN00
RADIO:unknown
SERIAL:unknown
SKU:unknown
SOC_MANUFACTURER:hisilicon
SOC_MODEL:kirin
SUPPORTED_32_BIT_ABIS:[Ljava.lang.String;@e078dee
SUPPORTED_64_BIT_ABIS:[Ljava.lang.String;@a8a228f
SUPPORTED_ABIS:[Ljava.lang.String;@cf2791c
TAGS:release-keys
TIME:1698669798000
TYPE:user
UNKNOWN:unknown
USER:test
java.lang.NoClassDefFoundError: Failed resolution of: Lio/dcloud/feature/audio/mp3/SimpleLame;
at io.dcloud.feature.audio.recorder.RecorderTask.init(Unknown Source:18)
at io.dcloud.feature.audio.recorder.RecorderTask.run(Unknown Source:7)
Caused by: java.lang.ClassNotFoundException: io.dcloud.feature.audio.mp3.SimpleLame
... 2 more
试试看,我亲测有效,华为Meta50模拟器。
1、把format改为amr格式,
const options = {
duration: this.duration, // 指定录音的时长,单位 ms
sampleRate: 16000, // 采样率
numberOfChannels: 1, // 录音通道数
encodeBitRate: 96000, // 编码码率
format: 'amr',
frameSize: 10, // 指定帧大小,单位 KB
};
uni.getRecorderManager().start(options);
2、把audio-mp3aac-release.aar放到libs中
3、Androidmainfest.xml文件需要修改的项,需要在application节点前添加权限
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
1***@qq.com (作者)
看奔溃日志是:这个错误在应用程序在运行时无法加载名为SimpleLame的类,该类应该位于io.dcloud.feature.audio.mp3包中。这可能是由于某些原因,如编译时遗漏该类或动态库,导致在应用运行时出现ClassNotFoundException。
c***@163.com - test
同问,出现一样的问题,我这边要录制的必须录制MP3的文件,报错
FATAL EXCEPTION: Thread-11
Process: com.knock.story, PID: 14262
java.lang.NoClassDefFoundError: Failed resolution of: Lio/dcloud/feature/audio/mp3/SimpleLame;
at io.dcloud.feature.audio.recorder.RecorderTask.init(Unknown Source:18)
at io.dcloud.feature.audio.recorder.RecorderTask.run(Unknown Source:7)
Caused by: java.lang.ClassNotFoundException: Didn't find class "io.dcloud.feature.audio.mp3.SimpleLame" on path: DexPathList[[zip file "/data/app/ehgiiBhWO2awq15dSVm8qg==/com.knock.story-PQHYOHpj5aKN6bNC7MM-nQ==/base.apk"],nativeLibraryDirectories=[/data/app/ehgiiBhWO2awq15dSVm8qg==/com.knock.story-PQHYOHpj5aKN6bNC7MM-nQ==/lib/arm64, /data/app/~~ehgiiBhWO2awq15dSVm8qg==/com.knock.story-PQHYOHpj5aKN6bNC7MM-nQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at io.dcloud.feature.audio.recorder.RecorderTask.init(Unknown Source:18)
at io.dcloud.feature.audio.recorder.RecorderTask.run(Unknown Source:7)
已解决!!!!
1***@qq.com (作者)
好的,已经重新修改了问题内容。发出来了
2024-04-24 15:16
1***@qq.com (作者)
您好,官方大哥。请问有看到吗
2024-04-24 17:53