感谢回答,这个需求还是很多的,尤其一些桌游类,希望推动下。
实时语音功能什么时候可以开放,或有开发计划吗- 实时语音功能什么时候可以开放,或有开发计划吗 - 希望可以与传统JS的调用方式保持一致,便于掌握如 getUserMedia
2019-02-22支持你
强烈要求开放WebAudioAPI- 需求的场景描述(希望解决的问题) 对于较为复杂的游戏环境,单纯的sample播放不能满足需求。希望能够对原始的sample进行编辑,例如混响、双二阶滤波器、平移、压缩等等。单纯的Audio已经远远无法满足要求 对于部分游戏类型,需要对输出的原始波(RAW WAVE)数据进行直接播放。目前Audio只能用写入文件再加载的方式,无法实现实时同步的播放。 现有的Audio存在许多性能、同步性的问题,已经完全无法满足日益复杂的小游戏的研发需求。 - 希望提供的能力 支持H5标准的 Web Audio API接口(参考:https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Audio_API) 目前IOS和Android底层都已经完整兼容该接口。建议官方能够重视并安排,以便在小游戏上能够有更好的音频表现!
2019-02-19期待官方解决这个问题。
为什么小游戏这么占用内存?在chrome上就不会!我是同样的一个游戏,在同一个手机上。 H5版本(Chrome浏览器),加载到内存中的图片,我都没做任何卸载操作,就是一直常驻内存,整个游戏在Chrome上跑,基本上维持在150-300M内存,而且只有战斗或者图片瞬时加载过多的时候,能到300,很快就会降下去。 而微信小游戏版本,我还专门做了图片资源从内存卸载处理,但是内存一直飙升,刚进到主界面就到了500、600M,玩了一会直接到了900M,然后维持在900多M,最高能到1G多,这是为什么,为什么占用这么多内存。 这个不是一个手机的问题,我们的内测玩家群,安卓用户普遍出现玩着玩着就黑屏,我猜测是内存占用过多,被强制回收了,不知道为什么会占用这么多内存。
2018-12-05你应该尝试其他引擎。
【已解决】cocos这小妖精,看不上iOS12,息屏再次打开会导致微信崩溃泪奔了,用cocos 引擎开发的小游戏,在iOS12上,出现bug。bug:手机息屏(主动锁屏,或手机自动息屏),过了1秒钟在打开小游戏,小游戏卡死,微信会崩溃。 我想的: 实在不行,能不能,在锁屏后,退出小游戏,避免再次打开会导致微信崩溃。锁屏后,如何触发动作呢? 坊间传闻,有cocos的小游戏,已经解决了该问题。 我cocos社区和百度了一圈,没找到成功案例, @小伙伴们,求推荐! @小伙伴们! 解决办法见2楼,感谢Raing
2018-11-26同样的问题。无法激活打开手机控制台。 小米8 64G
小米8小游戏调试无法打开vConsole页面查看信息- 当前 Bug 的表现(可附上截图) 小米8小游戏调试无法打开vConsole页面查看信息 - 预期表现 - 复现路径 - 提供一个最简复现 Demo
2018-11-20注意路径和盘符的大小写。我WIN10,必须都是大写,结尾必须是 \ 如 :D:\xxx\wx_game\
请官方帮忙看看,windows下调用HTTP上传代码报错1:在桌面建一个文件夹,使用开发者工具提供的快速构建普通项目 2:启动项目,然后找到ide,查看端口号 3:根据文档提供路径填写http请求。在mac上成功过一次,但后面更换了电脑继续测试,要么报400003,要么报路径找不到。而windows没成功过。[图片] https://developers.weixin.qq.com/miniprogram/dev/devtools/http.html 配置文件: [图片]
2018-11-14一样的问题。。这个命令行工具很坑。。 建议官方多测试jenkins下,mac,win7,win10等环境的测试,以及多账户
开发者工具v1.02.1810250上传接口报错-------------------------------------- 最新更新 11.01号 -------------------------------- 问题已自行解决:在上传代码前,打开一次将要上传的项目。 [代码] //打开指定目录的项目[代码][代码] [代码][代码]$strIDEPath[代码] [代码]= [代码][代码]$this[代码][代码]->_strWxidePath;[代码][代码] [代码][代码]$strDriverPath[代码] [代码]= [代码][代码]substr[代码][代码]([代码][代码]$strIDEPath[代码][代码], 0, 2);[代码] [代码]exec[代码][代码]([代码][代码]"$strDriverPath && cd $strIDEPath && cli -o $strProjectPath 2>&1"[代码][代码]);[代码]存在的问题:打开项目的过程中还是会报 runtimeAttr 的错误,虽然并不会影响之后上传流程。 StatusCodeError: 400 - "{\"code\":40000,\"error\":\"错误 {\\\"code\\\":40000,\\\"error\\\":\\\"错误 TypeError: Cannot read property 'runtimeAttr' of undefined\\\"}\"}" [图片] -------------------------------------- 以下是历史问题 ---------------------------------- 更新了最新版的微信开发者工具后,调用HTTP接口上传代码,爆出的错误: {"code":40000,"error":"错误 {\"code\":40000,\"error\":\"错误 TypeError: Cannot read property 'runtimeAttr' of undefined\"}"} 代码调用流程(PHP命令行模式,workerman框架): 1、onWorkerStart,进程初始化时(之后不再执行),命令行调用打开工具 [代码] /**[代码][代码] [代码][代码]* php命令行调取微信开发者工具[代码][代码] [代码][代码]* @param array $aInput [in]参数列表,暂无,填空数组即可[代码][代码] [代码][代码]* @param array $aOutput [out]输出结果,如果成功,则返回[代码][代码] [代码][代码]* <pre>[代码][代码] [代码][代码]* port - int .ide端口号[代码][代码] [代码][代码]* </pre>[代码][代码] [代码][代码]* @return boolean[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]public[代码] [代码]function[代码] [代码]openWxideCli([代码][代码]array[代码] [代码]$aInput[代码][代码], [代码][代码]array[代码] [代码]&[代码][代码]$aOutput[代码] [代码]= [])[代码][代码] [代码][代码]{[代码][代码] [代码][代码]$strIDEPath[代码] [代码]= [代码][代码]$this[代码][代码]->_strWxidePath;[代码][代码] [代码][代码]$strDriverPath[代码] [代码]= [代码][代码]substr[代码][代码]([代码][代码]$strIDEPath[代码][代码], 0, 2);[代码][代码] [代码][代码]$nOpenRet[代码] [代码]= 1;[代码][代码] [代码][代码]$aOpenOut[代码] [代码]= [];[代码][代码] [代码][代码]exec[代码][代码]([代码][代码]"$strDriverPath && cd $strIDEPath && cli.bat 2>&1"[代码][代码], [代码][代码]$aOpenOut[代码][代码], [代码][代码]$nOpenRet[代码][代码]);[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]$nOpenRet[代码][代码])[代码][代码] [代码][代码]{[代码][代码] [代码][代码]$this[代码][代码]->setError([代码][代码]'开启微信开发者工具命令行失败!'[代码][代码]);[代码][代码] [代码][代码]return[代码] [代码]false;[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]//匹配出端口号[代码][代码] [代码][代码]$strPattern[代码] [代码]= [代码][代码]'/http:\/\/127\.0\.0\.1:([\d]+)/'[代码][代码];[代码] [代码] [代码][代码]foreach[代码] [代码]([代码][代码]$aOpenOut[代码] [代码]as[代码] [代码]$line[代码][代码])[代码][代码] [代码][代码]{[代码][代码] [代码][代码]$aMatch[代码] [代码]= [];[代码][代码] [代码][代码]if[代码] [代码](preg_match([代码][代码]$strPattern[代码][代码], [代码][代码]$line[代码][代码], [代码][代码]$aMatch[代码][代码]))[代码][代码] [代码][代码]{[代码][代码] [代码][代码]$aOutput[代码][代码][[代码][代码]'port'[代码][代码]] = [代码][代码]intval[代码][代码]([代码][代码]$aMatch[代码][代码][1]);[代码][代码] [代码][代码]break[代码][代码];[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]return[代码] [代码]true;[代码][代码] [代码][代码]}[代码] [图片] 2、onMessage监听我们平台的上传代码请求,然后调用工具的HTTP上传接口,就是在这里返回的错误 [代码] /**[代码][代码] [代码][代码]* php命令行调取微信开发者工具HTTP上传接口[代码][代码] [代码][代码]* @param array $aInput [in]参数列表[代码][代码] [代码][代码]* <pre>[代码][代码] [代码][代码]* project_path - string 必填 需要上传的项目路径[代码][代码] [代码][代码]* version - string 必填 版本号[代码][代码] [代码][代码]* desc - string 选填 版本描述[代码][代码] [代码][代码]* </pre>[代码][代码] [代码][代码]* @param array $aOutput [out]输出结果[代码][代码] [代码][代码]* @return boolean[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]public[代码] [代码]function[代码] [代码]wxideCliUpload([代码][代码]array[代码] [代码]$aInput[代码][代码], [代码][代码]array[代码] [代码]&[代码][代码]$aOutput[代码] [代码]= [])[代码][代码] [代码][代码]{[代码][代码] [代码][代码]if[代码] [代码](![代码][代码]$this[代码][代码]->_checkFields([代码][代码]$aInput[代码][代码], [[代码][代码]'project_path'[代码][代码], [代码][代码]'version'[代码][代码], [代码][代码]'desc'[代码][代码]], [], true))[代码][代码] [代码][代码]{[代码][代码] [代码][代码]return[代码] [代码]false;[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]$strProjectPath[代码] [代码]= [代码][代码]$aInput[代码][代码][[代码][代码]'project_path'[代码][代码]];[代码][代码] [代码][代码]$strVersionNum[代码] [代码]= [代码][代码]$aInput[代码][代码][[代码][代码]'version'[代码][代码]];[代码][代码] [代码][代码]$strDesc[代码] [代码]= [代码][代码]$aInput[代码][代码][[代码][代码]'desc'[代码][代码]];[代码][代码] [代码][代码]$nPort[代码] [代码]= [代码][代码]$aInput[代码][代码][[代码][代码]'wxide_port'[代码][代码]];[代码][代码] [代码] [代码] [代码][代码]//echo $nPort."\n";[代码][代码] [代码] [代码] [代码][代码]if[代码][代码](![代码][代码]$nPort[代码][代码])[代码][代码] [代码][代码]{[代码][代码] [代码][代码]$aOpenResult[代码] [代码]= [];[代码][代码] [代码][代码]if[代码] [代码](![代码][代码]$this[代码][代码]->openWxideCli([], [代码][代码]$aOpenResult[代码][代码]))[代码][代码] [代码][代码]{[代码][代码] [代码][代码]return[代码] [代码]false;[代码][代码] [代码][代码]}[代码][代码] [代码][代码]$nPort[代码] [代码]= [代码][代码]$aOpenResult[代码][代码][[代码][代码]'port'[代码][代码]];[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]//http上传代码[代码][代码] [代码][代码]$_oCurlService[代码] [代码]= [代码][代码]new[代码] [代码]CurlService();[代码][代码] [代码][代码]$url[代码] [代码]= [代码][代码]'http://127.0.0.1:'[代码] [代码]. [代码][代码]$nPort[代码] [代码]. [代码][代码]'/upload?projectpath='[代码] [代码]. urlencode([代码][代码]$strProjectPath[代码][代码])[代码][代码] [代码][代码]. [代码][代码]'&version='[代码] [代码]. [代码][代码]$strVersionNum[代码][代码];[代码] [代码] [代码][代码]if[代码] [代码](![代码][代码]empty[代码][代码]([代码][代码]$strDesc[代码][代码]))[代码][代码] [代码][代码]{[代码][代码] [代码][代码]$url[代码] [代码].= [代码][代码]'&desc='[代码] [代码]. urlencode([代码][代码]$strDesc[代码][代码]);[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]$result[代码] [代码]= [代码][代码]''[代码][代码];[代码][代码] [代码][代码]$bResponse[代码] [代码]= [代码][代码]$_oCurlService[代码][代码]->get([代码][代码]$url[代码][代码], [代码][代码]$result[代码][代码]);[代码] [代码] [代码][代码]if[代码] [代码](![代码][代码]$bResponse[代码][代码])[代码][代码] [代码][代码]{[代码][代码] [代码][代码]echo[代码] [代码]date[代码][代码]([代码][代码]'Y-m-d H:i:s'[代码][代码]) . PHP_EOL;[代码][代码] [代码][代码]echo[代码] [代码]$strProjectPath[代码] [代码]. PHP_EOL;[代码][代码] [代码][代码]echo[代码] [代码]$result[代码] [代码]. PHP_EOL;[代码][代码] [代码][代码]echo[代码] [代码]$nPort[代码][代码].PHP_EOL;[代码][代码] [代码][代码]$aResponse[代码] [代码]= json_decode([代码][代码]$result[代码][代码], true);[代码][代码] [代码][代码]$this[代码][代码]->setError([代码][代码]$aResponse[代码][代码][[代码][代码]'code'[代码][代码]]);[代码][代码] [代码][代码]return[代码] [代码]false;[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]return[代码] [代码]true;[代码][代码] [代码][代码]}[代码]命令行输出错误信息: [图片] [图片] 3、项目配置文件模板 project.config.json [代码]{[代码][代码] [代码][代码]"description"[代码][代码]: [代码][代码]"项目配置文件。"[代码][代码],[代码][代码] [代码][代码]"packOptions"[代码][代码]: {[代码][代码] [代码][代码]"ignore"[代码][代码]: [][代码][代码] [代码][代码]},[代码][代码] [代码][代码]"setting"[代码][代码]: {[代码][代码] [代码][代码]"urlCheck"[代码][代码]: [代码][代码]true[代码][代码],[代码][代码] [代码][代码]"es6"[代码][代码]: [代码][代码]true[代码][代码],[代码][代码] [代码][代码]"postcss"[代码][代码]: [代码][代码]true[代码][代码],[代码][代码] [代码][代码]"minified"[代码][代码]: [代码][代码]true[代码][代码],[代码][代码] [代码][代码]"newFeature"[代码][代码]: [代码][代码]true[代码][代码] [代码][代码]},[代码][代码] [代码][代码]"compileType"[代码][代码]: [代码][代码]"miniprogram"[代码][代码],[代码] [代码] //上传时会替换为具体的appid[代码] [代码] [代码][代码]"appid"[代码][代码]: [代码][代码]"__DEVELOPERAPPID__"[代码][代码],[代码] [代码] //上传时会替换为具体的名称[代码] [代码] [代码][代码]"projectname"[代码][代码]:[代码][代码]"__PROJECTNAME__"[代码][代码]}[代码]
2018-11-13同样出现这个问题,希望官方重视一下。 做一个断开重连的SOCKET机制。 连接SOCKET,然后最小化。 等待十几秒后,再次进入,如果发现socket触发关闭,就再次连接。 就会出现上面两位的错误。 这种贴代码没用。
急 websocket has no permission小程序连接websoket在断线重连的时候会报错,首次连接不会报错: connectSocket:fail:jsapi has no permission,安卓手机上面才会出现,求解答! [图片]
2018-09-20