基于MVC的Html视频弹幕

本文详细介绍了如何在网页中使用DanmuPlayer.js插件实现弹幕功能,包括前端如何加载视频并添加弹幕,以及后端Java MVC如何配合PHP处理弹幕数据的获取和存储。通过实例展示了完整的数据流程和关键代码片段。
摘要由CSDN通过智能技术生成

采用的是DanmuPlayer.js插件,没有的可以去Git。

首先你的知道这个插件的使用方法。

首先你的现在html中定义一个div

<div id="danmup"></div>

接着就是js代码,src代表的是视频路径,height代表视频的高,weight代表视频的宽

//urlToGetDanmu:"getData.php",  //从后端获取弹幕数据
 //urlToPostDanmu:"sendData.php"  //发送弹幕数据给后端保存入库

这里的话由于此插件是采用的php的方法,我用的java mvc模式,所以对此方法做出了一些修改。所以这里我先将这两个方法给注释掉了。咱可不用管。


				$("#danmup").DanmuPlayer({
				
			  	src:src2,//视频源
			    height: "480px", //区域的高度
    			width: "800px", //区域的宽度
                //urlToGetDanmu:"getData.php",  //从后端获取弹幕数据
			    //urlToPostDanmu:"sendData.php"  //发送弹幕数据给后端保存入库
			    }) 

        $("#danmup .danmu-div").danmu("addDanmu",result),这个方法是向我们的视频中添加弹幕的方法,这里需要注意的是result需要是一个JSON格式 如我将result定义成这样。

let result = {text:"hhq" ,color:"white",size:1,position:0,time:21}
				//position:0代表滚动弹幕 1 代表顶部 2 代表底部
			,{text:"这是顶部弹幕" ,color:"yellow" ,size:1,position:1,time:31}
			
			,{text:"这是底部弹幕" , color:"red" ,size:1,position:2,time:31}
$("#danmup .danmu-div").danmu("addDanmu",result)

好了,知道这些之后我们直接开始传数据。

jquery向后端发送请求 拿到数据库中的弹幕数据。

$.post("danmu/getDanmu",{},result=>{
				console.log(result)
				let src2 = result[0].addr
				//console.log(src2)
				console.log(result1)

				$("#danmup").DanmuPlayer({
			  	src:src2,//视频源
			    height: "480px", //区域的高度
			    width: "800px", //区域的宽度
			    //urlToGetDanmu:"getData.php",  //从后端获取弹幕数据
			    //urlToPostDanmu:"sendData.php"  //发送弹幕数据给后端保存入库	
			}) 
				$("#danmup .danmu-div").danmu("addDanmu",result)
				//这是自动加弹幕我的responseData就是后台的数据
			});

result是我们拿到的数据 通过调用danmu方法直接将后台返回给我们的result给渲染上去。(当然你后台java得先处理好,让返回的数据是json格式)。

javaservlet处理数据

protected void getDanmu(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		int cinema_id = 101;
		DanmuBiz biz = new DanmuBizImpl();
		List<DanmuBean> list = biz.getDanmu(cinema_id);
		if(list == null) {
			this.send(resp, 501);
			return;
		}
		this.send(resp, list);
	}
	

注意这里的send方法是我们前面封装好的一个baseservlet里面的方法。处理了我们的响应数据。这里我就不做解释了(send里面已经将结果封装成了json格式)。

看成片:

OK,接下来就是将我们发送的弹幕存到数据库当中了,(pass这里改了一下DanmuPlayer.js中的main方法,因为它是用的php发送。)

首先我们打开这个DanmuPlayer.js插件的main.js,找到它的sendDanmu()方法。

 接着就是魔改了,我们得知道他主要就是将text,color,size,time这四个参数存到我们的数据库当中,那么我们找到它就行。

 找到之后,OK直接发送

 

 这里我大概在19秒左右的样子发送了一条“我来测试一下有没有成功哎”的弹幕。现在我重新刷新一下界面,看看有没有存进去。

 

OK,成功!

至此,over。

--

许可

你可以随意使用本项目,只需要在您的项目中添加这么一行注释:

DanmuPlayer (//github.com/chiruom/danmuplayer/) - Licensed under the MIT license

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值