Showing
1 changed file
with
37 additions
and
11 deletions
... | ... | @@ -17,16 +17,24 @@ |
17 | 17 | <mescroll-body ref="mescrollRef" :up="upOption" @init="mescrollInit" :down="downOption" @down="downCallback" @up="upCallback"> |
18 | 18 | <view class="camera-container"> |
19 | 19 | <view class="container-item"> |
20 | - <view @click="openCameraDetail(item.url)" v-for="(item, index) in list" :key="index" class="item"> | |
21 | - <video class="video" :src="item.videoUrl" controls></video> | |
20 | + <view v-for="(item, index) in list" :key="index" class="item"> | |
21 | + <video | |
22 | + :data-id="item.id" | |
23 | + :key="item.id" | |
24 | + :id="'video' + item.id" | |
25 | + class="video" | |
26 | + :src="item.videoUrl" | |
27 | + controls | |
28 | + webkit-playsinline | |
29 | + x5-video-player-type="h5" | |
30 | + x5-video-orientation="portraint" | |
31 | + show-mute-btn | |
32 | + :poster="item.avatar" | |
33 | + @play="playVideo" | |
34 | + ></video> | |
22 | 35 | <view class="bottom-text"> |
23 | 36 | <text class="text">{{ item.name }}</text> |
24 | 37 | </view> |
25 | - <!-- #ifdef MP --> | |
26 | - <view @click="hideImageUrl(item, index)" :style="[index == current ? { display: 'none' } : { display: 'block' }]" class="avatar-cover"> | |
27 | - <image class="image" :src="item.avatar"></image> | |
28 | - </view> | |
29 | - <!-- #endif --> | |
30 | 38 | </view> |
31 | 39 | </view> |
32 | 40 | </view> |
... | ... | @@ -56,7 +64,8 @@ export default { |
56 | 64 | current: 0, |
57 | 65 | cameraTotal: 0, |
58 | 66 | list: [], |
59 | - ordId: '' | |
67 | + ordId: '', | |
68 | + videoContext: null | |
60 | 69 | }; |
61 | 70 | }, |
62 | 71 | onShow() { |
... | ... | @@ -65,6 +74,9 @@ export default { |
65 | 74 | this.loadData(1, this.ordId); |
66 | 75 | } |
67 | 76 | }, |
77 | + onReady() { | |
78 | + this.videoContext = uni.createVideoContext('myVideo', this); | |
79 | + }, | |
68 | 80 | onHide() { |
69 | 81 | this.ordId = ''; |
70 | 82 | this.loadData(1, null); |
... | ... | @@ -72,7 +84,6 @@ export default { |
72 | 84 | onLoad() { |
73 | 85 | // 隐藏原生的tabbar |
74 | 86 | uni.hideTabBar(); |
75 | - this.getcameraTotalData(); | |
76 | 87 | }, |
77 | 88 | methods: { |
78 | 89 | /*下拉刷新的回调 */ |
... | ... | @@ -113,8 +124,23 @@ export default { |
113 | 124 | hideImageUrl(item, index) { |
114 | 125 | this.current = index; |
115 | 126 | }, |
116 | - openCameraDetail(e) { | |
117 | - console.log(e); | |
127 | + playVideo(e) { | |
128 | + /** | |
129 | + * 播放当前视频,暂停其余视频 | |
130 | + */ | |
131 | + let currentId = 'video' + e.currentTarget.dataset.id; | |
132 | + this.videoContent = uni.createVideoContext(currentId, this); | |
133 | + this.videoContext.requestFullScreen({ direction: 90 }); | |
134 | + // 获取视频列表 | |
135 | + let trailer = this.list; | |
136 | + trailer.forEach((item, index) => { | |
137 | + if (item.videoUrl != null && item.videoUrl != '') { | |
138 | + let temp = 'video' + item.id; | |
139 | + if (temp != currentId) { | |
140 | + uni.createVideoContext(temp, this).pause(); | |
141 | + } | |
142 | + } | |
143 | + }); | |
118 | 144 | }, |
119 | 145 | openOrg() { |
120 | 146 | uni.navigateTo({ | ... | ... |