设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 1033184484
打印 上一主题 下一主题

[有事请教] 真心求助,我的mv突然所有bgm都有延迟,有时候还会不响

[复制链接]

Lv1.梦旅人

梦石
0
星屑
76
在线时间
7 小时
注册时间
2018-12-14
帖子
8
11
 楼主| 发表于 2019-2-18 16:40:01 | 只看该作者
garfeng 发表于 2019-2-17 23:32
有一个比较魔鬼的办法:

尝试之前记得备份原来的游戏文件。

我用了之后也没用。
然后我就把替换的工程删了,但是当我使用备份的进行游戏测试就会跳出这么一个框
哪怕是重新创建一个新工程也会跳
除了跳出来倒也不影响,可以正常制作和测试。

但我想BGM延迟会不会是是因为我以前使用的盗版软件内容没卸载干净跟正版有些冲突的原因?
因为我在家里另一台电脑上把工程复制过去测试BGM时正常的
但我不太清楚该怎么处理,所以想请教一下大佬是否知道该怎么办

Snipaste_2019-02-18_16-28-23.png (21.89 KB, 下载次数: 8)

Snipaste_2019-02-18_16-28-23.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
2
星屑
5520
在线时间
2564 小时
注册时间
2012-2-9
帖子
990

开拓者

12
发表于 2019-2-18 17:12:45 | 只看该作者


抱歉这个办法解决不了问题。

然后要去掉弹窗按这个步骤做。

会清空你的存档。

游戏的存档都是存在这个目录
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
76
在线时间
7 小时
注册时间
2018-12-14
帖子
8
13
 楼主| 发表于 2019-2-18 20:49:31 | 只看该作者
garfeng 发表于 2019-2-18 17:12
抱歉这个办法解决不了问题。

然后要去掉弹窗按这个步骤做。

谢谢回答,已解决弹窗问题
虽然bgm依然存在延迟,但在此感谢每一个对我的困难提出建议的朋友。

反正只是自己这台上有延迟,虽然麻烦了点,测试的时候我拷贝到我那十年前的笔记本上测试吧(趴~)
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
926
在线时间
111 小时
注册时间
2017-8-3
帖子
63
14
发表于 2019-2-19 13:16:27 | 只看该作者
1.我没去看过代码。但是我从一个合理的开发者来说。这是一个单机游戏。所以不考了网速问题,正常来说,这次一个二次开发项目,应该都是加载完在播放(方便二次开发者读取文件属性)。

2.然后我去看了代码,它是请求一个ajax获取文件的buffer。 所以肯定是加载完毕在播放音乐的。
你一个文件几十MB,也不是一瞬间就读完的,举例子。你拷贝一个文件从D盘到C盘是一瞬间的嗎?


  1. Decrypter.decryptHTML5Audio = function(url, bgm, pos) {
  2.     var requestFile = new XMLHttpRequest();
  3.     requestFile.open("GET", url);
  4.     requestFile.responseType = "arraybuffer";
  5.     requestFile.send();

  6.     requestFile.onload = function () {
  7.         if(this.status < Decrypter._xhrOk) {
  8.             var arrayBuffer = Decrypter.decryptArrayBuffer(requestFile.response);
  9.             var url = Decrypter.createBlobUrl(arrayBuffer);
  10.             AudioManager.createDecryptBuffer(url, bgm, pos);
  11.         }
  12.     };
  13. };
复制代码

  1. WebAudio.prototype._load = function(url) {
  2.     if (WebAudio._context) {
  3.         var xhr = new XMLHttpRequest();
  4.         if(Decrypter.hasEncryptedAudio) url = Decrypter.extToEncryptExt(url);
  5.         xhr.open('GET', url);
  6.         xhr.responseType = 'arraybuffer';
  7.         xhr.onload = function() {
  8.             if (xhr.status < 400) {
  9.                 this._onXhrLoad(xhr);
  10.             }
  11.         }.bind(this);
  12.         xhr.onerror = this._loader || function(){this._hasError = true;}.bind(this);
  13.         xhr.send();
  14.     }
  15. };
复制代码



所以还是那句话..........你得目前主机读写速度太慢了。  解决办法,百度搜索一下MP3压缩

点评

但是我总感觉这段代码有点怪怪的,没判断状态是200。 我只是随便看了一下,没真正深入了解。如果有错大哥请纠正一下。  发表于 2019-2-19 13:23
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
926
在线时间
111 小时
注册时间
2017-8-3
帖子
63
15
发表于 2019-2-19 13:40:00 | 只看该作者
实在认为是代码问题,可以考虑,播放机制重写一下。

  1. AudioManager.createBuffer = function (){
  2.    var ext = this.audioFileExt();
  3.    var url = this._path + folder + '/' + encodeURIComponent(name) + ext;
  4.    var para=document.createElement("audio");
  5.    para.src = url;
  6.    document.body.appendChild(para);
  7.    para.play()
  8. }
复制代码


然后肯定会报错,把后面报错的都注释了。 我只是提供一个思路,肯定有很多BUG需要修改。  如果不太会代码,建议放弃
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
408
在线时间
11 小时
注册时间
2019-2-13
帖子
21
16
发表于 2019-2-20 23:15:49 | 只看该作者
貌似最新版mv能解决
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-10 08:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表