【发布时间】:2015-12-29 10:21:33
【问题描述】:
伙计们!最近,我很难解析 .mp3 文件(或其他类型)以获取歌曲的信息(例如:专辑名称、专辑封面、歌曲名称、歌手、歌曲的持续时间和大小等)在Titanium中!因为我在 API 中找不到解决问题的好方法(我尝试过 Titanium Media,但没有帮助),所以我尝试了这个节点模块 musicmetadata。然而,在 Titanium 中应用节点模块存在一些问题,虽然,here 是一个很好的建议,但对我没有帮助。
这是安装musicmetadata后的文件树:
根据musicmetadata API,我必须在我的js文件(Resources/ui/index.js)中声明以下代码:
var fs = require('fs');
var mm = require('musicmetadata');
不过,据我所知,Titanium 中的 require 方法只覆盖了 Resources 目录下的范围。这是我的 js 文件目录:
所以,出现了找不到模块的错误。也许有一种不好的方法,只复制 Resources/lib 路径下的模块可能会有所帮助,但这并不聪明。真正的问题是 fs 模块(这是我无法理解的,我想它可能指向音乐元数据中包含的 filereader-stream 节点模块)。如何在我的 js 文件中正确地要求音乐元数据模块?或者,有没有一种很好的方法来解析 Titanium API 中的 mp3 文件?伙计们,我需要你们的帮助!提前致谢,非常感谢您的建议或想法!
【问题讨论】:
-
不要认为尝试导入 node.js 模块是这里的方法......虽然它可能适用于一些非常简单的模块,这些模块不依赖于核心节点模块或其他库,我不要认为这适用于绝大多数情况,当然也不适用于“fs”。
-
谢谢@Cviejo!我真的不打算将节点模块应用到我的项目中,因为正如您所说,修复节点模块的这些 依赖项 或 库 确实是一个大问题,只是就像 "fs" 我别无选择让它工作。现在,我正在尝试找到一种用原生 javascript 方法解析 mp3 文件的好方法,或者,如果我足够幸运,会有一个捷径,有人可以在 Titanium API中告诉我>.