6***@qq.com
6***@qq.com
  • 发布:2022-02-07 15:30
  • 更新:2024-08-27 17:59
  • 阅读:2513

【报Bug】createInnerAudioContext 不能创建多个播放音频

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.3.10

手机系统: Android

手机系统版本号: Android 7.0

手机厂商: 华为

手机机型: 荣耀

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<template>
<view>
</view>
</template>
<script>
var innerAudioContext1 = null;
var innerAudioContext2 = null;
export default {
data() {
return {
};
},
onReady() {
innerAudioContext1 = uni.createInnerAudioContext();
innerAudioContext2 = uni.createInnerAudioContext();
innerAudioContext1.autoplay = true;
innerAudioContext1.volume = 1;

    innerAudioContext2.autoplay = true;  
    innerAudioContext2.volume = 1;  

    innerAudioContext1.src = 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-hello-uniapp/2cc220e0-c27a-11ea-9dfb-6da8e309e0d8.mp3';  
    innerAudioContext2.src = 'https://qieryi.oss-cn-shenzhen.aliyuncs.com/test/audio/8sx6dSSC4d.mp3';  

    innerAudioContext1.play();  
    innerAudioContext2.play();  

    innerAudioContext1.onPlay(() => {  
        console.log('开始播放1');  
    });  
    innerAudioContext2.onPlay(() => {  
        console.log('开始播放2');  
    });  
},  
methods: {  

}  

};
</script>

<style>
</style>

操作步骤:

同时播放多个音频即可复现

预期结果:

同时播放多个音频

实际结果:

同时只能播放一个音频

bug描述:

安卓InnerAudioContext 不能同时播放多个音频,3.3.3本已修复,3.3.10复现。

2022-02-07 15:30 负责人:无 分享
已邀请:
DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

3.3.3 新增同时播放多个音频引发了其他问题,3.3.10 以后默认不开启此功能,需要手动设置

let audio = uni.createInnerAudioContext();  
audio.sessionCategory = "ambient"

sessionCategory 可取值:
"ambient" - 不中止其他声音播放,不能后台播放,静音后无声音;
"soloAmbient" - 中止其他声音播放,不能后台播放,静音后无声音;
"playback" - 中止其他声音,可以后台播放,静音后有声音。

  • 6***@qq.com (作者)

    好的,谢谢

    2022-02-07 15:51

  • 6***@qq.com (作者)

    如果用这个同时播放,还会引发什么问题啊?大佬可以说下吗?

    2022-02-07 15:52

  • r***@foxmail.com

    audio.sessionCategory = "ambient" 还是会终止其他播放

    2024-03-17 23:36

DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

引发问题是指什么?
Android平台目前的实现有问题,不能同时播放多个音频应该是应用之间的互斥,而不是应用内部
我们后续会修复,修复后就不存在不能同时播放多个音频的概念了

  • 6***@qq.com (作者)

    好的,麻烦了,我是说大佬你刚刚说的3.3.3 新增同时播放多个音频引发了其他问题 是什么问题,我看下我们这里能不能避开这个问题

    2022-02-07 16:12

  • DCloud_uni-ad_HDX

    回复 6***@qq.com: 影响了iOS的静音物理开关,已修复了

    2022-02-07 18:32

3***@qq.com

3***@qq.com - 自己人

sessionCategory = "ambient" 在app上还是不行 会中止其他声音播放

3***@qq.com

3***@qq.com - 自己人

华为p30 鸿蒙2.0

第一次改BUG

第一次改BUG - 学,不要停

uni.createInnerAudioContext()可以同时创建多个音频对象吗?
问题:后台不提供音频时长需自取,多条音频时长统计咋处理?
想法:页面加载时重复创建销毁过程拿到所有音频对象时长信息并记录
请问大佬还有别的思路吗?比如src可以接受数组类型,返回的对象包含所有音频的相关信息并且能被监听到

爱吃鱼的靖哥哥

爱吃鱼的靖哥哥 - 行走在全栈路上的码农

都3.8.7了,sessionCategory = "ambient" 在app上还是不行 会中止其他声音播放

r***@foxmail.com

r***@foxmail.com

audio.sessionCategory = "ambient" 还是会终止其他播放

独立开发者磊子

独立开发者磊子

+1

audio.sessionCategory = "ambient" 还是会终止其他播放

3***@qq.com

3***@qq.com

+1
audio.sessionCategory = "ambient" 还是会终止其他播放
有啥替代方法吗

redstoone

redstoone

audio.sessionCategory = "ambient" 还是会终止其他播放

1***@qq.com

1***@qq.com

4.23
audio.sessionCategory = "ambient" 还是会终止其他播放

工程狮

工程狮

感觉他们缺音频这方面的开发人才,这个音频播放API问题很多,Android 播放 mp3 调用 seek 会有播放延时,也一直都不修复

要回复问题请先登录注册