在白鹭引擎中使用NodePlayer.js开发直播视频游戏

简介

实时视频+游戏操作是非常不错的娱乐体验方式,结合物联网设备可以开发诸如:远程抓娃娃、远程打气球、打野兔、射箭等项目。
NodePlayer.js-wasm版可以非常方便的集成到最新的白鹭引擎(v5.3以上)中使用,以下是我们总结的一个集成方法。

一、准备工作

1.NodePlayer.js wasm版

试用开发包请下载:https://cdn.nodemedia.cn/NodePlayer/0.5.39-wasm/NodePlayer_v0.5.39-wasm_trial.zip
授权用户请准备好wasm版

2.白鹭引擎 v5.3.8

3.Egret Compiler

4.Egret Wing 3

二、创建并打开工程

三、在工程目录下的libs目录下创建NodePlayer文件夹,并将开发包或授权包内的 NodePlayer.d.ts , NodePlayer.min.js, NodePlayer.min.wasm 三个文件拷贝到该文件夹下。复制NodePlayer.min.js并改名为NodePlayer.js 。

四、在Egret Wing编辑器中打开egretProperties.json,添加一个module

    {      "name": "NodePlayer",      "path": "./libs/NodePlayer"    }

五、编译模块

在Egret Wing中打开终端,输入

egret build -e


这时候可以打开manifest.json,可以看到已自动加入了一行

"libs/NodePlayer/NodePlayer.js"

六、修改index.html模板文件

打开 template/web/index.html,在div中添加

<canvas id="video" style="margin: auto;width: 100%;height: 100%;" />

七、编写代码, 打开/src/Main.ts

1. 初始化播放器

在函数

 private async runGame() {

中添加

await NodePlayer.asyncLoad()

2.创建播放实例

    private textfield: egret.TextField;    private player : NodePlayer;    /**     * 创建场景界面     * Create scene interface     */    protected createGameScene(): void {        this.player = new NodePlayer()        this.player.setView("video");        this.player.setScaleMode(2);        let stageW = this.stage.stageWidth;        let stageH = this.stage.stageHeight;//将背景图注释,避免图片盖住视频        // let sky = this.createBitmapByName("bg_jpg");        // this.addChild(sky);        // sky.width = stageW;        // sky.height = stageH;

3.在按键事件处理中播放视频

    /**     * 点击按钮     * Click the button     */    private onButtonClick(e: egret.TouchEvent) {        this.player.start("http://flv.bdplay.nodemedia.cn/live/bbb.flv");    }

八、编译运行项目


编译成功后会自动弹出浏览器打开。
点击Click!按钮,视频开始播放

九、发布项目


编译成功后打开目录,手动将NodePlayer.min.wasm拷贝到js目录下

将发布版文件用web_server发布,使用浏览器打开,播放正常。

十、Demo项目源码

https://github.com/illuspas/LiveVideoGame

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 在白鹭引擎中使用NodePlayer.js开发直播视频游戏

2 评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据