由于版权限制,从nw.js的0.13版本,内置的chrome浏览器就不在默认支持一些受版权保护的音视频格式,如mp3/mp4。
官网说明如下:
In the pre-built NW.js, following codecs are supported:
theora,vorbis,vp8,pcm_u8,pcm_s16le,pcm_s24le,pcm_f32le,pcm_s16be,pcm_s24be
and following demuxers are supported:
ogg,matroska,wav
官方给出的解决方案是自己动手重新编译nw.js,然而编译nw.js光是下载资源就要20G+,更不要说ffmpeg还有一堆坑。其实需要的只是一个FFmpeg的库文件而已。
好在有这种需求的人不少,网上已经有大神编译好了各个版本的FFmpeg库文件
具体操作如下:(Mac)
到https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases下载对应nw.js的 ffmpeg 库文件
打开本地的nw目录至:
/nw/nwjs.app/Contents/Versions/55.0.2883.87/nwjs Framework.framework
55.0.2883.87为nw.js 内置 chrome版本
如图
拷贝下载libffmpeg.dylib到该目录覆盖即可
这样就可以用h5的原生audio,video标签来播放mp3,mp4文件了
Windows平台没试过,原理都相通
参考:
http://docs.nwjs.io/en/latest/For%20Developers/Enable%20Proprietary%20Codecs/