Blame view

pages/component/video/video.nvue 2.57 KB
4b045f7c   刘淇   江阴初始化项目
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
  <template>
  	<div>
  		<video id='video1' class="video" :src="src" autoplay="false" duration="" controls="true" :danmu-list="list"
  			danmu-btn="true" enable-danmu="true" :loop="true" muted="true" initial-time="" direction="-90"
  			show-mute-btn="true" @play="onstart" @pause="onpause" @ended="onfinish" @error="onfail" @waiting="waiting"
  			@timeupdate="timeupdate" @fullscreenchange="fullscreenchange"></video>
  		<button class="btn" @click="play">播放</button>
  		<button class="btn" @click="pause">暂停</button>
  		<button class="btn" @click="seek">跳转到指定位置</button>
  		<button class="btn" @click="stop">停止</button>
  		<button class="btn" @click="fullScreen">全屏</button>
  		<button class="btn" @click="exitFullScreen">退出全屏</button>
  		<button class="btn" @click="playbackRate">设置倍速</button>
  		<button class="btn" @click="sendDanmu">发送弹幕</button>
  	</div>
  </template>
  
  <script>
  	export default {
  		data() {
  			return {
  				src: "https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20181126-lite.m4v",
  				fil: true,
  				list: [{
  					text: '要显示的文本',
  					color: '#FF0000',
  					time: 9
  				}]
  			}
  		},
  		onReady() {
  			this.context = uni.createVideoContext("video1", this);
  		},
  		methods: {
  			onstart(e) {
  				console.log("onstart:" + JSON.stringify(e));
  			},
  			onpause(e) {
  				console.log("onpause:" + JSON.stringify(e));
  			},
  			onfinish(e) {
  				console.log("onfinish:" + JSON.stringify(e));
  			},
  			onfail(e) {
  				console.log("onfail:" + JSON.stringify(e));
  			},
  			fullscreenchange(e) {
  				console.log("fullscreenchange:" + JSON.stringify(e));
  			},
  			waiting(e) {
  				console.log("waiting:" + JSON.stringify(e));
  			},
  			timeupdate(e) {
  				console.log("timeupdate:" + JSON.stringify(e));
  			},
  
  			play() {
  				this.context.play();
  			},
  			pause() {
  				this.context.pause();
  			},
  			seek() {
  				this.context.seek(20);
  			},
  			stop() {
  				this.context.stop();
  			},
  			fullScreen() {
  				this.context.requestFullScreen({
  					direction: 90
  				});
  			},
  			exitFullScreen() {
  				this.context.exitFullScreen();
  			},
  			sendDanmu() {
  				this.context.sendDanmu({
  					text: '要显示的弹幕文本',
  					color: '#FF0000'
  				});
  			},
  			playbackRate() {
  				this.context.playbackRate(2);
  			}
  		}
  	}
  </script>
  
  <style>
  	.video {
  		width: 750rpx;
  		/* #ifdef H5 */
  		width: 100%;
  		/* #endif */
  		height: 400rpx;
  		background-color: #808080;
  	}
  
  	.btn {
  		margin-top: 5px;
  		margin-bottom: 5px;
  	}
  </style>