// playSrc.value = e.data;
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src = e.data;
innerAudioContext.onPlay(() => {
console.log('开始播放');
});
innerAudioContext.onError((res) => {
console.log(res)
});
- 发布:2024-05-09 12:10
- 更新:2024-05-09 18:42
- 阅读:169
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 21H2
HBuilderX类型: 正式
HBuilderX版本号: 4.14
手机系统: Android
手机系统版本号: Android 14
手机厂商: 小米
手机机型: 12pro
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
// /data/user/0/com.hxl.kuaiyi/files/play.wav 文件 此为通过aar生成
// playSrc.value = e.data;
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src = e.data;
innerAudioContext.onPlay(() => {
console.log('开始播放');
});
innerAudioContext.onError((res) => {
console.log(res)
});
// /data/user/0/com.hxl.kuaiyi/files/play.wav 文件 此为通过aar生成
// playSrc.value = e.data;
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src = e.data;
innerAudioContext.onPlay(() => {
console.log('开始播放');
});
innerAudioContext.onError((res) => {
console.log(res)
});
预期结果:
播放正常
播放正常
实际结果:
返回
{
"errMsg": "MediaError",
"errCode": -5
}
使用audio组件 可以正常播放
返回
{
"errMsg": "MediaError",
"errCode": -5
}
使用audio组件 可以正常播放
bug描述:
uni.createInnerAudioContext
无法播放 /data/user/0/ 下的音频文件
1 个回复
沐子鱼 (作者) - 你好
安卓原生播放的
MediaPlayer mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setDataSource(path);
mediaPlayer.prepare();
mediaPlayer.start();
// 如果需要,可以添加一个监听器来处理播放完成后的逻辑
mediaPlayer.setOnCompletionListener(mp -> {
mp.release(); // 释放MediaPlayer资源
// 可以在这里添加其他逻辑,比如删除临时文件等
});
} catch (Exception e) {
e.printStackTrace();
if (mediaPlayer != null) {
mediaPlayer.release(); // 确保即使在异常情况下也释放MediaPlayer资源
}
}