Browse Source

h5player测试

lite
‘daijinzheng@xingtongworld.com’ 2 years ago
parent
commit
8cc36b4265
  1. 129
      package-lock.json
  2. 4
      package.json
  3. 2
      public/index.html
  4. 1246
      src/views/ty/index.vue
  5. 1124
      src/views/ty/index14.vue
  6. 49
      src/views/ty/index15.vue
  7. 166
      src/views/ty/index4.vue

129
package-lock.json

@ -6434,6 +6434,23 @@
"resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz",
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
},
"d": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/d/-/d-1.0.1.tgz",
"integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
"requires": {
"es5-ext": "^0.10.50",
"type": "^1.0.1"
}
},
"danmu.js": {
"version": "1.1.9",
"resolved": "https://registry.npmmirror.com/danmu.js/-/danmu.js-1.1.9.tgz",
"integrity": "sha512-/LNgbBFhrY3jSSPoEfoLx5ea7f0xz5KtK7eZiuW1Fo2X1irMy7q+naYGz/MxqX0LKXPMF7DFWKJBH8z2r7RQug==",
"requires": {
"event-emitter": "^0.3.5"
}
},
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz",
@ -6717,6 +6734,16 @@
"resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"delegate": {
"version": "3.2.0",
"resolved": "https://registry.npmmirror.com/delegate/-/delegate-3.2.0.tgz",
"integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
},
"demoplugin": {
"version": "0.0.1",
"resolved": "https://registry.npmmirror.com/demoplugin/-/demoplugin-0.0.1.tgz",
"integrity": "sha512-tdZDw4QWFT2M4vfl78QRVX9YDs6uP71ydLLbult9zVu+dKc8RQaORYf+1rzwiUi83mGzYlV0rJWVXIzy3gIcwg=="
},
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
@ -6882,6 +6909,11 @@
"integrity": "sha1-P7rwIL/XlIhAcuomsel5HUWmKfA=",
"dev": true
},
"downloadjs": {
"version": "1.4.7",
"resolved": "https://registry.npmmirror.com/downloadjs/-/downloadjs-1.4.7.tgz",
"integrity": "sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q=="
},
"duplexer": {
"version": "0.1.1",
"resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz",
@ -7073,16 +7105,45 @@
"is-symbol": "^1.0.2"
}
},
"es5-ext": {
"version": "0.10.62",
"resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.62.tgz",
"integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
"requires": {
"es6-iterator": "^2.0.3",
"es6-symbol": "^3.1.3",
"next-tick": "^1.1.0"
}
},
"es5-shim": {
"version": "4.6.7",
"resolved": "https://registry.npmmirror.com/es5-shim/-/es5-shim-4.6.7.tgz",
"integrity": "sha512-jg21/dmlrNQI7JyyA2w7n+yifSxBng0ZralnSfVZjoCawgNTCnS+yBCyVM9DL5itm7SUnDGgv7hcq2XCZX4iRQ=="
},
"es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
"requires": {
"d": "1",
"es5-ext": "^0.10.35",
"es6-symbol": "^3.1.1"
}
},
"es6-promise": {
"version": "4.2.8",
"resolved": "https://registry.npmmirror.com/es6-promise/-/es6-promise-4.2.8.tgz",
"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
},
"es6-symbol": {
"version": "3.1.3",
"resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.3.tgz",
"integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
"requires": {
"d": "^1.0.1",
"ext": "^1.1.2"
}
},
"escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz",
@ -7510,6 +7571,15 @@
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"dev": true
},
"event-emitter": {
"version": "0.3.5",
"resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
"requires": {
"d": "1",
"es5-ext": "~0.10.14"
}
},
"event-pubsub": {
"version": "4.3.0",
"resolved": "https://registry.npm.taobao.org/event-pubsub/download/event-pubsub-4.3.0.tgz",
@ -7673,6 +7743,21 @@
}
}
},
"ext": {
"version": "1.7.0",
"resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz",
"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
"requires": {
"type": "^2.7.2"
},
"dependencies": {
"type": {
"version": "2.7.2",
"resolved": "https://registry.npmmirror.com/type/-/type-2.7.2.tgz",
"integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
}
}
},
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
@ -10684,6 +10769,11 @@
"integrity": "sha1-rCetpmFn+ohJpq3dg39rGJrSCBw=",
"dev": true
},
"next-tick": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
},
"nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz",
@ -13795,6 +13885,11 @@
"resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1581364252466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
},
"type": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/type/-/type-1.2.0.tgz",
"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
},
"type-check": {
"version": "0.3.2",
"resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz",
@ -15105,6 +15200,40 @@
"async-limiter": "~1.0.0"
}
},
"xgplayer": {
"version": "3.0.5",
"resolved": "https://registry.npmmirror.com/xgplayer/-/xgplayer-3.0.5.tgz",
"integrity": "sha512-QmKcc2l/ETF6JYOYbYz8dm1OWOwft/6AuUy6RF8ms+3T05sqMXlAqEoXPVnCmiHs4BB4W2LSXsxyQXX6+xNBTw==",
"requires": {
"danmu.js": ">=1.1.6",
"delegate": "^3.2.0",
"downloadjs": "1.4.7",
"eventemitter3": "^4.0.7",
"xgplayer-subtitles": "3.0.5"
},
"dependencies": {
"eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz",
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
}
}
},
"xgplayer-subtitles": {
"version": "3.0.5",
"resolved": "https://registry.npmmirror.com/xgplayer-subtitles/-/xgplayer-subtitles-3.0.5.tgz",
"integrity": "sha512-NH7UjkK+2gy15DZsB4SFNUkdcgLMm6THVEMzl026pxEQyqXr0F65fMhx3nzFGZLzL2TSRpQHPJCeBNqGY0uWEg==",
"requires": {
"eventemitter3": "^4.0.7"
},
"dependencies": {
"eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz",
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
}
}
},
"xhr": {
"version": "2.4.0",
"resolved": "https://registry.npmmirror.com/xhr/-/xhr-2.4.0.tgz",

4
package.json

@ -16,6 +16,7 @@
"axios": "^1.4.0",
"copy-webpack-plugin": "^4.6.0",
"core-js": "^3.6.4",
"demoplugin": "0.0.1",
"echarts": "^5.4.2",
"flv.js": "^1.6.2",
"jquery": "^3.7.0",
@ -31,7 +32,8 @@
"vue-router": "^3.1.5",
"vue-video-player": "^6.0.0",
"vuex": "^3.1.2",
"web-control": "^1.0.2"
"web-control": "^1.0.2",
"xgplayer": "^3.0.5"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.2.0",

2
public/index.html

@ -13,7 +13,7 @@
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<script src="static/h5player.min.js"></script>
<script src="<%= BASE_URL %>static/h5player.min.js"></script>
<!-- built files will be auto injected -->
</body>

1246
src/views/ty/index.vue

File diff suppressed because it is too large

1124
src/views/ty/index14.vue

File diff suppressed because it is too large

49
src/views/ty/index15.vue

@ -0,0 +1,49 @@
<template>
<div class='instance'>
<div id="vs"></div>
</div>
</template>
<script>
// import flvjs from "flv.js";
// api
// import * as homeApi from '@/api/home'
import DemoPlugin from 'demoplugin'
import Player from 'xgplayer'
export default {
data() {
return {
}
},
mounted() {
let player = new Player({
id: 'vs',
url: 'rtmp://58.200.131.2:1935/livetv/hunantv',
plugins: [DemoPlugin]
})
const pipInstance = player.getPlugin('pip')
pipInstance.switchPIP()
player.registerPlugin(DemoPlugin)
// const player = new Player({
// ...,
// plugins: [DemoPlugin]
// })
},
methods: {
},
}
</script>
<style>
.demo-video {
max-width: 880px;
max-height: 660px;
/* background-image: url(../../../src/utils/h5player.min.js); */
}
</style>

166
src/views/ty/index4.vue

@ -1,166 +0,0 @@
<template>
<v-scale-screen width="1920" height="1080">
<div id="ty">
<div class="main">
<div class="center">
<div id="player" class="item">
<!-- <Video :src="src1" :poster="poster" /> -->
<!-- <video id="myFlvVideo" controls autoplay width="80%" height="200px"></video> -->
<!-- <video class="demo-video" ref="player" muted autoplay></video> -->
</div>
<div class="item">
<!-- <Video :src="src2" :poster="poster" /> -->
</div>
<div class="item">
<!-- <Video :src="src3" :poster="poster" /> -->
</div>
<!-- <div class="item"></div> -->
</div>
</div>
</div>
</v-scale-screen>
</template>
<script>
// import flvjs from "flv.js";
import '@/utils/h5player.min.js'
// api
import * as homeApi from '@/api/home'
export default {
data() {
return {
player: null
}
},
mounted() {
this.$nextTick(() => {
this.initPlayer()
})
this.getVideo()
},
methods: {
/**
* 初始化播放器
*/
initPlayer() {
this.player = new window.JSPlugin({
//
szId: 'player',
// ,H5player.min.jsjs
szBasePath: '../../../src/utils/h5player.min.js'
// // div#play_windowiWidthiHeight
// iWidth: 600,
// iHeight: 400,
// // 4*4
// iMaxSplit: 16,
// iCurrentSplit: 1,
// //
// oStyle: {
// border: '#343434',
// borderSelect: '#FFCC00',
// background: '#000'
// }
})
this.initPlugin()
},
/**
* 事件初始化
*/
initPlugin() {
this.player.JS_SetWindowControlCallback({
windowEventSelect(iWindIndex) {
//
console.log('windowSelect callback: ', iWindIndex)
},
pluginErrorHandler(iWindIndex, iErrorCode, oError) {
//
console.error(`window-${iWindIndex}, errorCode: ${iErrorCode}`, oError)
},
windowEventOver(iWindIndex) {
//
console.log('鼠标移过回调', iWindIndex)
},
windowEventOut(iWindIndex) {
//
console.log('鼠标移出回调', iWindIndex)
},
windowFullCcreenChange(bFull) {
//
console.log('全屏切换回调', bFull)
},
firstFrameDisplay(iWndIndex, iWidth, iHeight) {
//
console.log('首帧显示回调', iWndIndex, iWidth, iHeight)
},
performanceLack(iWndIndex) {
//
console.log('性能不足回调', iWndIndex)
}
})
this.play()
},
/**
* 播放
*/
play() {
let preUrl = 'rtsp://192.168.66.13:554/openUrl/5jhuK3e' //
const param = {
playURL: preUrl,
// 1 0
mode: 1
}
//
let index = 0
console.log(this.playerArr)
console.log(this.player);
this.player.JS_Play(preUrl, param, index).then(
() => {
//
console.log('播放成功')
},
err => {
console.log('播放失败')
console.log(preUrl);
// console.info('JS_Play failed:', err)
console.info(err)
}
)
},
getVideo() {
let that = this
console.log(that);
homeApi.allGetVideo().then(res => {
// get allTimeData
const tmpdata = res.data.returnData
console.log(tmpdata);
// this.day_num = tmpdata.day.noRepeatInNum
// this.week_num_num = tmpdata.week.noRepeatInNum
// this.mon_num = tmpdata.month.noRepeatInNum
// this.year_num = tmpdata.year.noRepeatInNum
// let btdata = new Array();
// let bvdata = new Array();
// tmpdata.foreach(function(item,index){
// console.log(item);
// console.log(index);
// });
});
},
}
}
</script>
<style>
.demo-video {
max-width: 880px;
max-height: 660px;
/* background-image: url(../../../src/utils/h5player.min.js); */
}
</style>
Loading…
Cancel
Save