废话不多说直接上代码。如下:
<%@ page contentType="text/html; charset=utf-8" language="java"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="Page-Enter" content="blendTrans(Duration=1.0)"/>
<title>播放视频</title>
<script language="JavaScript" type="text/JavaScript">
//这里最好找一个确定能播放的rtsp视频地址
var url="rtsp://220.191.136.24/88888913/16/20220419/275541798/275541798.ts";
var mediaStr='';
mediaStr = '[{mediaUrl:"'+ url +'",';
mediaStr += 'mediaCode: "jsoncode1",';
mediaStr += 'mediaType:2,';
mediaStr += 'audioType:1,';
mediaStr += 'videoType:1,';
mediaStr += 'streamType:1,';
mediaStr += 'drmType:1,';
mediaStr += 'fingerPrint:0,';
mediaStr += 'copyProtection:1,';
mediaStr += 'allowTrickmode:1,';
mediaStr += 'startTime:0,';
mediaStr += 'endTime:20000,';
mediaStr += 'entryID:"jsonentry1"}]';
var mp = new MediaPlayer(); //新建一个mediaplayer对象 这个对象机顶盒底层有 这样写就行
var instanceId = mp.getNativePlayerInstanceID(); //读取本地的媒体播放实例的标识
window.onload=function () { //进入界面就播放
stop();
start();
}
//初始话mediaPlay对象
function initMediaPlay(){
var playListFlag = 0; //Media Player 的播放模式。 0:单媒体的播放模式 (默认值),1: 播放列表的播放模式
var videoDisplayMode = 1; //MediaPlayer 对象对应的视频窗口的显示模式. 1: 全屏显示2: 按宽度显示,3: 按高度显示
var height = 720;
var width = 1280;
var left = 0;
var top = 0;
var muteFlag = 0; //0: 设置为有声 (默认值) 1: 设置为静音
var subtitleFlag = 0; //字幕显示
var videoAlpha = 0; //视频的透明度
var cycleFlag = 0;
var randomFlag = 0;
var autoDelFlag = 0;
var useNativeUIFlag = 1;
//初始话mediaplayer对象
mp.initMediaPlayer(instanceId,playListFlag,videoDisplayMode,
height,width,left,top,muteFlag,useNativeUIFlag,subtitleFlag,videoAlpha,cycleFlag,randomFlag,autoDelFlag);
mp.setSingleMedia(mediaStr); //设置媒体播放器播放媒体内容
mp.setAllowTrickmodeFlag(0); //设置是否允许trick操作。 0:允许 1:不允许
mp.setVideoDisplayMode(0);
mp.setVideoDisplayArea(left,top,width,height); //视频在body里的位置 这里是绝对定位的坐标
mp.setNativeUIFlag(0); //设置播放器本地UI显示功能 0:允许 1:不允许
mp.setAudioTrackUIFlag(1);
mp.setMuteUIFlag(1);
mp.setAudioVolumeUIFlag(1);
mp.refreshVideoDisplay();
// mp.setVolume(30); //初始化音量
}
//进入页面后直接播放
function start(){
initMediaPlay();
play();
}
// start();
function serverStop(){ //播放结束 这里是播放结束后重新在播放一遍
stop();
start();
}
function mute(){ //静音
var plflag=mp.getMuteFlag();
if(plflag == 0){
mp.setMuteFlag(1);
}else{
mp.setMuteFlag(0);
}
}
//播放
function play(){
// playStat = "play";
mp.playFromStart();
}
//停止播放
function stop(){
mp.stop();
}
function resume(){
speed = 1;
// playStat = "play";
mp.resume();
}
function volUp(){ //音量+
var vol = mp.getVolume();
vol = (vol <= 90 ? vol+10 : 100);
mp.setVolume(vol);
}
function volDown(){ //音量-
var vol = mp.getVolume();
vol = (vol >= 10 ? vol-10 : 0);
mp.setVolume(vol);
}
function fastForward() {//快进
speed = speed * 2;
if(speed > 32)
speed = 2;
mp.fastForward(speed);
setTimeout(function(){resume()},5*1000);
}
function fastRewind(){//快退
speed = speed * 2;
if(speed > 32)
speed = 2;
mp.fastRewind(-speed);
setTimeout(function(){resume()},5*1000);
}
function swtichjy(){//静音
if(plflag == 0 ){
plflag=1;
mp.setMuteFlag(1);
}else{
plflag=0;
mp.setMuteFlag(0);
}
}
function goUtility() {//机顶盒事件响应 有的机顶盒不会执行影响不大
eval("eventJson = " + Utility.getEvent());
var typeStr = eventJson.type;
switch(typeStr) {
case "EVENT_MEDIA_BEGINING":
return false;
case "EVENT_MEDIA_ERROR":
mediaError(eventJson);
return false;
case "EVENT_MEDIA_END":
serverStop();
return false;
default :
break;
}
return true;
}
function mediaError(eventJson) {//出现错误
var code = eventJson.error_code;
var type = eventJson.error_message;
}
function checkMvKey(keycode) {
switch(keycode) {
case 768: //播放事件||有的机顶盒不会执行 影响不大
goUtility();
break;
case 259://声音大
volUp();
break;
case 260://声音小
volDown();
break;
case 264://快进
fastForward();
break;
case 265://快退
fastRewind();
break;
case 261://静音
swtichjy();
mute();
break;
// case 263:
// pauseOrPlay();
// break;
case 34://下,到尾
mp.gotoEnd();
break;
case 8: //返回
goBack();
break;
}
}
function goBack() { //我这里写 是我为了方便测试 回退到我的主界面里面去
window.location.href = '../../page_home.jsp?version=1';
}
// iPanel.focusWidth = "-1";
function grabEvent(evt) { //遥控器 响应事件
evt = evt?evt:window.event;
var keycode = evt.keyCode; //遥控器对应的数字
if(keycode == 8){ //遥控器返回键
goBack();
return false;
}
checkMvKey(keycode);
}
document.onkeypress=grabEvent;
document.onirkeypress=grabEvent;
</script>
</head>
<body onUnload="stop();" bodybgcolor="transparent" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="background-color: transparent;position:absolute;z-index:0;" >
</body>
</html>
说明:onUnload="stop();" 这里是离开页面的时候需要停止播放 很好理解哈。对了,别再浏览器上测试哈,浏览器不支持rtsp的