creator2.4.2
OPPO小游戏,真机测试
很简单的音效播放都有延时,不顺畅,然后放几次之后就再也没声音了
例如按钮声音,点几次就没了
网络音频确实会有延时的现象。可以先下载下来再播放, 或放到本地游戏包里。
oppo 音频同一时间播放音频是有上限的。
建议控制下同一时间的播放上限,不同机型上限不一样,13个内应该都可以正常。
cc.assetManager.loadRemote(remoteUrl + “/sounds/se_cancel.mp3”, {cacheEnabled: true}, function (err, audio) {
self.seCancel = audio
})
我这cacheEnabled设置的是true,播放不应该就是执行的本地的音频文件吗?
我也遇到了同样的问题,有方法处理吗?
同样的问题,如果我做音游怎么样办,oppo 音频同一时间播放音频是有上限,我这打击音效播着播着,没有了。。。
打击的声音,放自己就没了,背景音乐只能播放一次。。。。
同 creator2.4.2,怎么解决?
网上解决版本如下
转:
https://www.cnblogs.com/vkerL/p/13743763.html
Cocos Creator: 2.4.1
平台: Oppo 小游戏(Oppo mini game)
问题: 使用 cocos creator 自带的 audioEngine 去播放音效,在对同一个音效播放大概5,6次之后就会出现即使再次播放,也没有声音出现.
解决思路: 使用 Oppo 原生的 InnerAudioContext 这个类去播放音效. 按照文档的描述的限制规则去实现播放音效.
// 通过打印这个 bundle 对象你会找到你想要的数据
cc.assetManager.loadBundle(bundleName, (err: Error, bundle: cc.AssetManager.Bundle) => {
let audioMap = bundle["_config"][“assetInfos”]["_map"];
for (let key in audioMap) {
let obj = audioMap[key];
if (!Data.audioConfig[obj[“path”]]) {
let path = bundle["_config"][“base”] + “native/” + key.substr(0, 2) + “/” + obj[“uuid”] + “.” + obj[“nativeVer”] + “.mp3”
//Data.audioConfig[obj[“path”]] = path;
}
}
});
// 播放音效的实现
private dealMoreSameConfig: any = {};
playQgAudio(file: string, isLoop: boolean = false) {
if (Project.Platform != Platform.OPPO) return;
let audioObj = null;
if (!this.dealMoreSameConfig[file]) {
audioObj = qg.createInnerAudioContext()
audioObj.loop = isLoop
audioObj.volume = 1
audioObj.autoplay = false;
console.log("src ==> " , file, Data.audioConfig[file]);
audioObj.src = Data.audioConfig[file] //“audio/” + file + “.mp3”
this.dealMoreSameConfig[file] = audioObj;
var playSound = function() {
console.log("音效开始播放 : ", + audioObj.src);
audioObj.offCanplay(playSound)
}
audioObj.onCanplay(playSound)
} else {
audioObj = this.dealMoreSameConfig[file];
}
console.log("audio config ==> " , audioObj, audioObj.src);
audioObj.play()
}
说真的,官方能不能重写下,音效这块,论坛上bug太多了
可以的话。。。你最好oppo的api去做这个事情,就像微信小游戏播放音效的话,最好用微信的api,这样不容易出这个问题~