const child_process = require('child_process')
let pathStr = path.join("C:/Program Files (x86)/Tencent/QQMusic/QQMusic.exe")
var p = path.join(__dirname, 'foo.mp3')
console.log(p)
var sound = child_process.spawn(pathStr, ["--play-and-exit", p])
sound.on('exit', function () {
console.log('played')
})
ffi的全称是Foreign Function Interface,该项目生来就是解决nodejs本地调用问题的。在我们使用nodejs调用东来链接库时候,最繁琐容易出问题的就是配置环境阶段。下边我们就先分别看一下windows和linux下是如何安装的。
1 安装node 我node版本使用的8.9.0(高版本的测试使用过,但是没有成功)
如果你有其他项目必须使用高版本的node,可以使用nvm来管理node的版本。
2 安装
如果这两个都安装成功了,再去安装node-ffi就没有什么问题了。
1.和windows一样同样使用的8.9.0的版本。测试过高版本,没有成功过。
2.安装npm install -g node-gyp ,需要依赖python2.7
3.在linux下安装时需要注意权限问题
安装项目下的所有模块
npm 出于安全考虑不支持以 root 用户运行,即使你用 root 用户身份运行了,npm 会自动转成一个叫 nobody 的用户来运行,而这个用户几乎没有任何权限。这样的话如果你脚本里有一些需要权限的 *** 作,比如写文件(尤其是写 /root/.node-gyp),就会崩掉了。
为了避免这种情况,要么按照 npm 的规矩来,专门建一个用于运行 npm 的高权限用户;要么加 --unsafe-perm 参数,这样就不会切换到 nobody 上,运行时是哪个用户就是哪个用户,即使是 root。
4 安装完成后,项目放到了/home 目录下,编写项目保存时候总是提示,用户权限不足,就做了如下设置
1.引入ffi等模块
详细的使用方法,可查看 https://github.com/node-ffi/node-ffi/wiki/Node-FFI-Tutorial
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)