乐趣区

关于前端:Electron播放-RTMP流-实现-mac版本

在打包 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 不一样须要解决的点

退出移动版