是否可以使用 Javascript 或 jQuery 将 mp3、wav 等转换为 m4r 格式?
3 回答
假设您有一个可以更改文件格式的库。
我们还假设您只需要应用程序在当前浏览器上运行,FileAPI
这样您就可以访问上传的文件(如果没有或除非您使用或或等效技术,FileReference
您将无法访问它们)。FileAPI
FileReference
Flash
Java Applets
您将无法将输出文件写回给用户,因为不允许 JavaScript 访问本地文件系统。
您唯一的解决方案是将转换后的文件发送到服务器,然后服务器使用强制下载指令将其发送回您,以便提示用户下载结果。
现在回到是否有一个可以转换的库(甚至是原生 JavaScript)......我还没有听说过。构建一个并非不可能,但它是不切实际的,并且不会运行得很快。
编辑:
让我们不要忘记Node.js!
它是一个使用 Google Chrome 的V8 JavaScript 解释器/编译器的后端服务器。它运行 JavaScript 作为后端脚本引擎。
如果您使用文件系统、数据库和一切(或任何其他后端系统)并且仍在使用 JavaScript,则您可以访问它。您也可以使用库。要么是用 JavaScript 编写的,要么是用其他语言编写的库,这些库已经链接到 Node.js 的接口。
编辑2:
有一个完全用 JavaScript 编写的 PC 模拟器。如果您愿意,它会运行二进制可执行文件。它被称为JSLinux。
如果您感觉特别吵闹,您可以获取ffmpeg
二进制可执行文件(使用静态链接编译)。并将其作为 uuencoded 字符串嵌入到您的应用程序代码中,然后使用 JSLinux 执行命令并获取结果。
实际上,可以使用最新的 js 技术在客户端上执行此操作。一个网络工作者线程可以在后台完成工作。至少在 Firefox 和 Chrome 中,还可以使用新的W3C 文件 API读取(“在内存中上传”)和写入(“从内存中下载”)文件,请参见此处。
我设法使用谷歌的 GWT通过拖放从客户端和在客户端内读取文件,这最终是纯 JavaScript,因此它必须也可以“本地”执行。
除此之外,会话算法当然必须在 javascript web worker 中实现以避免阻塞 gui。这应该是最难的部分,但并非不可能。
您需要一个后端来执行此操作。您可能想查看FFmpeg的PHPExtension