赞 | 5 |
VIP | 0 |
好人卡 | 0 |
积分 | 10 |
经验 | 2613 |
最后登录 | 2024-12-29 |
在线时间 | 115 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 955
- 在线时间
- 115 小时
- 注册时间
- 2017-8-3
- 帖子
- 63
|
1.我没去看过代码。但是我从一个合理的开发者来说。这是一个单机游戏。所以不考了网速问题,正常来说,这次一个二次开发项目,应该都是加载完在播放(方便二次开发者读取文件属性)。
2.然后我去看了代码,它是请求一个ajax获取文件的buffer。 所以肯定是加载完毕在播放音乐的。
你一个文件几十MB,也不是一瞬间就读完的,举例子。你拷贝一个文件从D盘到C盘是一瞬间的嗎?
- Decrypter.decryptHTML5Audio = function(url, bgm, pos) {
- var requestFile = new XMLHttpRequest();
- requestFile.open("GET", url);
- requestFile.responseType = "arraybuffer";
- requestFile.send();
- requestFile.onload = function () {
- if(this.status < Decrypter._xhrOk) {
- var arrayBuffer = Decrypter.decryptArrayBuffer(requestFile.response);
- var url = Decrypter.createBlobUrl(arrayBuffer);
- AudioManager.createDecryptBuffer(url, bgm, pos);
- }
- };
- };
复制代码
- WebAudio.prototype._load = function(url) {
- if (WebAudio._context) {
- var xhr = new XMLHttpRequest();
- if(Decrypter.hasEncryptedAudio) url = Decrypter.extToEncryptExt(url);
- xhr.open('GET', url);
- xhr.responseType = 'arraybuffer';
- xhr.onload = function() {
- if (xhr.status < 400) {
- this._onXhrLoad(xhr);
- }
- }.bind(this);
- xhr.onerror = this._loader || function(){this._hasError = true;}.bind(this);
- xhr.send();
- }
- };
复制代码
所以还是那句话..........你得目前主机读写速度太慢了。 解决办法,百度搜索一下MP3压缩 |
|