audioCtx真机性能較弱
发布于 6 年前 作者 ming36 4045 次浏览 来自 问答

按照文档,audio对应引入了基本的audio context概念。一个audioCtx对应一个音频

当音频较多,在真机切换播放时,性能较差延时比较高。请问是否有计划进行优化?

10 回复

收到,我们看看怎么优化下。

场景比如,bindtouchstart从头播放一个声音。会明显感知到延迟

感谢迅速反馈,我晚上试一下,今天没带个人电脑。 有可能之后放宽5个innercontext的限制吗

能否提供一下demo看看

抱歉目前没有线上可跑的实例,我在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

感觉性能稍微好一点,但还是没达到需求,或者没达到web audio api基于create node那种流畅。但好像也不太值得在小程序中引入整个window…或整个api(不知道具体原理)

我的微信号zfan40  希望以后向大佬继续讨论学习

期待真机中连点三下,听到三个声音

是啊,本人开发也发现了这个问题,一个是限制了同时5个音频发音,在现实中是有问题的,比如音乐类应用。还有就是播放有延迟,这个延迟虽然不到1秒钟,但是很明显能感觉到。原生app是没有延迟的。

回到顶部