首页 / 故障排查 / alphaTab.js在播放gp5格式曲谱乱码的解决

alphaTab.js在播放gp5格式曲谱乱码的解决

2024-01-12 01:11:43故障排查 阅读 91

alphaTab.js是一个用来实现在网页播放guitar pro曲谱的js框架,能够兼容甩有gp格式的在线播放,但是alphaTab.js在播放一年老曲谱的时候会出现汉字乱码。

这里的原因就是这个老曲谱比如gp3、gp4、gp5所在的年代,在使用编码基本上都是gbk编码。

而现在主流已经是utf-8了,所以alphaTab.js会默认使用utf-8来打开gp5曲谱,中文就乱码了。

alphaTab.js的核心代码库中,类ImporterSettings的构造中有一个this.encoding = 'utf-8';就是关键所在,直接修改为gbk就解决汉字乱码了。

但可能会导致新版的gp谱乱码,因为新版已经采用utf-8了,汉字也一样。

所以需要使用一个兼容的方式,不能把this.encoding写死。

通过代码的分析,可以在构建一个alphaTab.js播放器的时候,显示地修改ImporterSettings的encoding。

再加一个判断,如果是gp5再换编码,不然就用默认。

    const api = new alphaTab.AlphaTabApi(main, settings);
#以下判断是新加,如果是gp5换成gbk编码
    if(url.indexOf('gp5') > 0){
        api.settings.importer.encoding = 'gbk';
    }
最终效果正常兼容了gp5的汉字,其它gp4 gp3类推。


相关推荐

alphaTab.js在播放gp5格式曲谱乱码的解决

解决向vim粘贴代码出现汉字乱码的问题


本文《alphaTab.js在播放gp5格式曲谱乱码的解决》由爱思考吧 isres.com 分享,转载请注明出处。

本文网址:https://www.isres.com/jingyan2/213.html

本站主要收集测评能够节省时间和提升效率的软件工具并分享使用与学习的过程和感受,任何情况下用户都需遵守所使用软件资源的相关协议。

与《alphaTab.js在播放gp5格式曲谱乱码的解决》有关的本站文章及资源仅供个人学习交流使用,相关资源请下载后24小时内删除,请勿用于其它用途,因此产生的任何问题由您自行承担。

猜你喜欢

  • 升级bios 解决Dell R720 v2cpu点不亮

    升级bios 解决Dell R720 v2cpu点不亮

    有一台原装的是E5-2620cpu的R720服务器,这次在某宝上买了两E5-2673v2的U来替换。 谁知开机显示器没反应,鼠标键盘无反应。 开始怀疑是不是CPU的问题,后来一想,记得有部分R720...

    2020-08-28 15:42:11 10970
  • 解决未配置proxy_cache_key导致purge清nginx缓存报404的问题

    解决未配置proxy_cache_key导致purge清nginx缓存报404的问题

    最近在一次部署中,配置nginx缓存的时候,忘记配置proxy_cache_key的组成方式了,导致配置purge按以往的方式无法清理缓存,因为没有命中正确的key。 虽然可以通过设置正确配置、重新...

    2023-06-29 08:38:42 330
  • 下载zlibwapi.dll解决Could not locate zlibwapi.dll. Please..roop运行报错

    下载zlibwapi.dll解决Could not locate zlibwapi.dll. Please..roop运行报错

    今天的本机研究单机部署roop用于处理视频换脸AI功能的环境上费了不少时间,以至于没办法整理部署文档,在最后运行期间依旧还有一个报错 Could not locate zlibwapi.dll. P...

    2023-07-29 01:14:22 409
  • PHP CURL POST请求返回 400 Bad Request的处理

    某套代码,都是linux,只是换了一台,换了php环境。 运行CURL POST请求返回 400 Bad Request。 经过验证排查,原因虽然使用POST,但我们的参数是在URL后边拼接的。 解决...

    2023-04-25 12:11:30 404
  • 升级DellR430 bios以点亮V4CPU

    升级DellR430 bios以点亮V4CPU

    有一台以前买的R430服务器,原来安装的E5-2620V3 CPU,相升级换成 E5-2680V4 。 无奈发现开机后一直卡在,Configuring Memory…Done ,换回V3 CPU就正常...

    2023-04-20 16:25:30 973
  • conda环境下print(torch.cuda.is_available()) False

    情景是:明明pip install torch>=1.10 安装成功了,但conda环境下运行 print(torch.cuda.is_available()) 却得到 False ...

    2023-05-23 23:07:19 352
  • 2023年7月4日亲测,恢复Google和360浏览器的翻译功能

    2023年7月4日亲测,恢复Google和360浏览器的翻译功能

    很无语上次的Google翻译的host没到半个月,我这里网络就ping不通了,于是不得不重新寻找新的host ip。 通过一番搜索测试,发现以下ip做host可恢复Google和360浏览器的翻译功...

    2023-07-04 11:59:22 503
  • 华为usg防火墙ping网址unkown host,但能ping外部ip

    目前在设置USG6110和USG6300的诊断中心中,对外部进行ping只能ping ip,ping域名解析不到。 处理方法是,在网页上打开控制台, sys dns resolve dns serve...

    2023-04-25 12:20:01 264