V2EX 09月22日 22:23
N1盒子U盘启动问题引出Kodi游戏插件开发
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

作者的N1盒子在经历高温后出现U盘启动故障,尝试CoreELEC系统后发现其游戏功能简陋,无法识别缩写的ROM文件名。为解决此问题,作者决定自行开发Kodi插件,尽管缺乏Python开发经验和Kodi开发文档的不足,最终仍成功利用周末时间,将插件类型设置为视频,并通过特殊处理实现了游戏启动和信息展示功能,允许用户切换布局并提供了开源地址。

💡 **N1盒子U盘启动故障与CoreELEC的局限性**:作者的N1盒子因高温导致U盘启动异常,转而尝试CoreELEC系统。然而,CoreELEC的游戏功能存在不足,尤其是在处理以缩写命名的街机ROM文件时,用户难以辨识,这促使了作者寻求更优的解决方案。

🛠️ **Kodi插件开发的挑战与实现**:作者决定利用Kodi的插件机制解决游戏文件识别问题,并选择了Python作为开发语言。尽管Kodi的开发文档不够完善,并且没有直接的游戏插件类型,作者仍通过将插件类型设为“视频”并进行特殊处理,实现了以游戏模式启动ROM文件的目标,克服了技术上的障碍。

🚀 **周末开发与功能展示**:经过一个周末的努力,作者成功开发出了能够为游戏ROM添加说明信息并支持多种布局切换的Kodi插件。该插件解决了游戏文件命名不清晰的问题,提升了游戏体验,并提供了GitHub开源地址,供其他用户参考和使用。

我有一个 N1 盒子用来投屏使用,偶尔也切换一下进入 U 盘中的 emuelec 游戏系统,玩玩游戏。有一天,估计是天气太热了,N1 突然黑屏了,然后重启再进入后发现外接 U 盘无法使用了。后来发现如果我将其中一个 U 口通过 A2A 的 USB 线接到充电头上,另外一个口接 U 盘,还是能从 U 盘中启动的。

不过最近我发现,即使使用 A2A 线加电,也不能正常启动 U 盘了,于是我从网上又下载了一个 coreelec+android tv 的双系统 rom ,心想 coreelec 也能支持游戏,可以弥补不能使用 U 盘启动游戏系统的遗憾。

等用上 coreelec 才发现,这货的游戏功能也太简陋了:

那些以游戏名字命名的文件还要,而有些街机游戏的 ROM 文件名都是用的缩写,比如说 kof.zip ,一两个你还能背得下来,多了肯定就分不清了。

心想着,不就是给游戏添加个说明信息嘛,为啥 kodi 不增加个这么简单的功能呢?我看这个功能很简单,要不我就自己做一个吧。

说干就干,我搜了一下 kodi 的插件开发必须用 python ,虽然我之前从来没有写过 python 的项目,但脚本语言差别应该不大。然后我就去查开发文档,不得不吐槽一下,kodi 的文档也做的很简陋,它提供很多 wiki 页面都是孤立链接,没法从文档左侧的目录树中找到,能不能被浏览到完全看机缘。

调研初期,本来我以为可以做一个游戏类型的插件就 OK 了,结果发现他们压根没有提供游戏类插件这个概念,为了实现想要的 UI 渲染效果,我只能将插件类型设置成视频。然后在点击指定 ROM 文件的时候,再告诉 kodi 以游戏模式打开。虽然曲线救国了些,不过最终还是耗费了一个周末做出来了。

最终展示的效果图:

如果对当前布局不满意,你可以通过左下角的选项按钮来切换布局。

最后给一下项目的开源地址: https://github.com/yunnysunny/game-visuals

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

N1盒子 U盘启动 CoreELEC Kodi 插件开发 Python 游戏 ROM 开源
相关文章