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

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

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

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格式曲谱乱码的解决》由爱思考吧 isres.com 分享,转载请注明出处。本文网址:https://www.isres.com/jingyan2/213.html

本站主要收集测评能够节省时间和提升效率的软件工具并分享使用与学习的过程和感受,任何情况下用户都需遵守所使用软件资源的相关协议。与《alphaTab.js在播放gp5格式曲谱乱码的解决》有关的本站文章及资源仅供个人学习交流使用,相关资源请下载后24小时内删除,请勿用于其它用途,因此产生的任何问题由您自行承担。

相关推荐

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

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

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

    2024-01-12 01:11:43 591
  • 解决向vim粘贴代码出现汉字乱码的问题

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

    方法分为永久解决方法和临时解决方法 1、临时解决方法 检查:在vim编辑器上 :set enc #得到 encoding=latin1 处理:在vim编辑器上 :set encoding=utf-8...

    2023-07-18 08:51:45 490

猜你喜欢