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

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

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

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小时内删除,请勿用于其它用途,因此产生的任何问题由您自行承担。

相关推荐

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

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

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

    2023-07-18 08:51:45 403
  • alphaTab.js在播放gp5格式曲谱乱码的解决

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

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

    2024-01-12 01:11:43 377

猜你喜欢

  • linux centos 解决卸载分区出现umount: target is busy.

    linux centos 解决卸载分区出现umount: target is busy.

    服务器一个分区的文件数过多,磁盘满,用rm时间太久,由于文件属于Cache可删除,决定直接格式化这个分区。 根据步骤,要选umount卸载分区,再mkfs.ext4格式化,再重新mount挂载。 【...

    2023-10-19 17:27:48 253
  • 解决未配置proxy_cache_key导致purge清nginx缓存报404的问题

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

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

    2023-06-29 08:38:42 450
  • 设置xshell断开自动重连的方法

    设置xshell断开自动重连的方法

    有时候xshell挂机做一些任务,由于网络不稳定,尤其是我们这种家用宽带时不是跳一下公网IP导致连接异常,xshell经常没过多久就断开了,麻烦的很。 关于这个问题首先问了一个AI, AI一本正经胡...

    2023-05-30 08:21:46 431
  • 2023年3月亲测,恢复Google和360浏览器的翻译功能

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

    如图:已成功在360浏览器把github首页翻译成了中文 可能很多人已经掌握了这个技巧,但这个问题却困扰了我很久,直到下决心找资料解决这个翻译问题。只是想不到的时候,解决方案确实如此简单,也不是很麻...

    2023-04-24 13:34:54 361
  • 解决cloudflare cdn启用https回源协议

    解决cloudflare cdn启用https回源协议

    这平时使用阿里、百度、腾讯的CDN,都有明显的一个选项设置HTTP或HTTPS回源协议。 但初次了解cloudflare的时候,cloudflare的操作逻辑习惯与方式明显与以前不同。 cloudf...

    2023-07-26 11:36:19 781
  • PHP CURL POST请求返回 400 Bad Request的处理

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

    2023-04-25 12:11:30 539
  • php编译exif.so,解决Call to undefined exif_imagetype()报错

    如果php是编译安装,找到或重新下载源码,进到exif目录,比如 /usr/tmp/php-7.2.1/ext/exif /usr/local/php/bin/phpize ./confi...

    2023-04-26 14:23:39 393
  • alphaTab.js在播放gp5格式曲谱乱码的解决

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

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

    2024-01-12 01:11:43 377