小程序
小游戏
企业微信
微信支付
扫描小程序码分享
按照文档,audio对应引入了基本的audio context概念。一个audioCtx对应一个音频
当音频较多,在真机切换播放时,性能较差延时比较高。请问是否有计划进行优化?
10 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
请尝试下此接口 https://mp.weixin.qq.com/debug/wxadoc/dev/api/createInnerAudioContext.html
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
收到,我们看看怎么优化下。
能否提供一下demo看看
是啊,本人开发也发现了这个问题,一个是限制了同时5个音频发音,在现实中是有问题的,比如音乐类应用。还有就是播放有延迟,这个延迟虽然不到1秒钟,但是很明显能感觉到。原生app是没有延迟的。
感觉性能稍微好一点,但还是没达到需求,或者没达到web audio api基于create node那种流畅。但好像也不太值得在小程序中引入整个window..或整个api(不知道具体原理)
我的微信号zfan40 希望以后向大佬继续讨论学习
感谢迅速反馈,我晚上试一下,今天没带个人电脑。 有可能之后放宽5个innercontext的限制吗
期待真机中连点三下,听到三个声音
抱歉目前没有线上可跑的实例,我在quickstart项目中简单写了个demo,并进行了测试,
可以复现,麻烦进行尝试。 真机相比开发工具 性能相差很多
<!--index.wxml-->
<view class="container" bindtouchstart='bindTouch'>
<audio id="sound"></audio>
</view>
/* index.wxss */
.container {
position: absolute;
background-color:black;
width:100%;
height:100%;
}
//index.js
const app = getApp()
const audio_url = 'https://freesound.org/data/previews/39/39149_35187-lq.mp3'
Page({
data: {},
onReady() {},
bindTouch() {
this.audioCtx.seek(0)
this.audioCtx.play()
},
onLoad() {
this.audioCtx = wx.createAudioContext('sound')
this.audioCtx.setSrc(audio_url)
})
情景:点击一次屏幕,从头播放一个小音效,会比较频繁点击。(可以想像为按一下开枪的效果)
代码:
touchStartHandler: function(e) {
this.audioCtx.seek(0);
this.audioCtx.play();
开发者工具上流畅,真机性能延迟非常大,跪求指导 orz
场景比如,bindtouchstart从头播放一个声音。会明显感知到延迟
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
请尝试下此接口 https://mp.weixin.qq.com/debug/wxadoc/dev/api/createInnerAudioContext.html
收到,我们看看怎么优化下。
能否提供一下demo看看
是啊,本人开发也发现了这个问题,一个是限制了同时5个音频发音,在现实中是有问题的,比如音乐类应用。还有就是播放有延迟,这个延迟虽然不到1秒钟,但是很明显能感觉到。原生app是没有延迟的。
感觉性能稍微好一点,但还是没达到需求,或者没达到web audio api基于create node那种流畅。但好像也不太值得在小程序中引入整个window..或整个api(不知道具体原理)
我的微信号zfan40 希望以后向大佬继续讨论学习
感谢迅速反馈,我晚上试一下,今天没带个人电脑。 有可能之后放宽5个innercontext的限制吗
期待真机中连点三下,听到三个声音
抱歉目前没有线上可跑的实例,我在quickstart项目中简单写了个demo,并进行了测试,
可以复现,麻烦进行尝试。 真机相比开发工具 性能相差很多
<!--index.wxml-->
<view class="container" bindtouchstart='bindTouch'>
<audio id="sound"></audio>
</view>
/* index.wxss */
.container {
position: absolute;
background-color:black;
width:100%;
height:100%;
}
//index.js
const app = getApp()
const audio_url = 'https://freesound.org/data/previews/39/39149_35187-lq.mp3'
Page({
data: {},
onReady() {},
bindTouch() {
this.audioCtx.seek(0)
this.audioCtx.play()
},
onLoad() {
this.audioCtx = wx.createAudioContext('sound')
this.audioCtx.setSrc(audio_url)
},
})
情景:点击一次屏幕,从头播放一个小音效,会比较频繁点击。(可以想像为按一下开枪的效果)
代码:
touchStartHandler: function(e) {
this.audioCtx.seek(0);
this.audioCtx.play();
}
开发者工具上流畅,真机性能延迟非常大,跪求指导 orz
场景比如,bindtouchstart从头播放一个声音。会明显感知到延迟