在打包mac版本的时候,发现在windows下能够播放RTMP流,不能播放,剖析起因,有三个:
1、widnows下flash插件是DLL文件,在mac不能用,mac下是后缀为plugin的插件,这个须要替换
2、另外,vue-video-player
`videojs-flash`这两个插件须要卸载之后,在重装,起因参照https://segmentfault.com/a/11... 这篇文章外面有说
MAC下装置adobe文件之后,会在对应目录下生成文件PepperFlashPlayer.plugin,须要把这个文件放到我的项目外面resources外面,当然打包的时候也要把该文件带上一起打包,所以批改vue.config.js的局部代码如下:
mac: { target: 'dmg', icon: './public/app.png', extraResources: [ { "from": "resources/", "to": "./", } ] }
在background.js主过程代码中退出mac的判断如下:
if (process.platform =='darwin'){
console.log('以后是mac 零碎')if( process.arch == 'x64' ){ plugins =process.env.WEBPACK_DEV_SERVER_URL? path.join(__dirname,`../resources/PepperFlashPlayer.plugin`) :path.join(__dirname,`../PepperFlashPlayer.plugin`)}else{ plugins =app.getPath('pepperFlashSystemPlugin') }}else{console.log('以后是windows零碎')if( process.arch == 'x64' ){ plugins =process.env.WEBPACK_DEV_SERVER_URL? path.join(__dirname,`../resources/pepflashplayer64_32_0_0_238.dll`) :path.join(__dirname,`../pepflashplayer64_32_0_0_238.dll`)}else{ plugins =app.getPath('pepperFlashSystemPlugin') } }
以上根本实现第一条;
在我npm 卸载和装置 vue-video-player videojs-flash的时候,会呈现在某一步卡死的状态,百度一番,说是网络问题,我换了有线也无解,这里我用了个麒麟技巧,把windows下node_modules外面的这两个包间接copy到MAC下的node_modules文件夹下,亲测可用!
以上就是MAC播放RTMP流遇到的和windows不一样须要解决的点