159 lines
5.1 KiB
Plaintext
159 lines
5.1 KiB
Plaintext
<template>
|
||
<view>
|
||
<live-pusher id='livePusher' ref="livePusher" class="livePusher" :url="url"
|
||
mode="SD" :muted="true" :enable-camera="true" :auto-focus="true" :beauty="1" whiteness="2"
|
||
aspect="9:16" @statechange="statechange" @netstatus="netstatus" @error = "error"
|
||
:style="{'height':height + 'px'}"
|
||
></live-pusher>
|
||
<view class="bottom" :style="{'height':height + 'px'}" v-if="show" @click="show = false">
|
||
<view class="tanchuceng" @click="zuzhi">
|
||
1
|
||
</view>
|
||
</view>
|
||
|
||
<!-- <button class="btn" @click="start">开始推流1</button>
|
||
<button class="btn" @click="pause">暂停推流</button>
|
||
<button class="btn" @click="resume">resume</button>
|
||
<button class="btn" @click="stop">停止推流</button>
|
||
<button class="btn" @click="snapshot">快照</button>
|
||
<button class="btn" @click="startPreview">开启摄像头预览</button>
|
||
<button class="btn" @click="stopPreview">关闭摄像头预览</button>
|
||
rtmp://107268.livepush.myqcloud.com/live/26?txSecret=826e36f52669ebf9290644b82a1d8b33&txTime=5F1A84E4
|
||
<button class="btn" @click="switchCamera">切换摄像头</button> -->
|
||
</view>
|
||
</template>
|
||
<style lang="scss" scoped>
|
||
.bottom{
|
||
width: 750rpx;
|
||
position: fixed;
|
||
top:0;
|
||
z-index: 10;
|
||
}
|
||
.tanchuceng{
|
||
width: 750rpx;
|
||
height: 782rpx;
|
||
position: fixed;
|
||
bottom: 0;
|
||
border-top-left-radius:20rpx;
|
||
border-top-left-radius:20rpx;
|
||
background-color: #fff;
|
||
transition: bottom 0.5s;
|
||
z-index: 20;
|
||
}
|
||
</style>
|
||
<script>
|
||
export default {
|
||
data: {
|
||
fil: true,
|
||
url:'',
|
||
height:0,
|
||
show:true
|
||
},
|
||
onReady() {
|
||
// 注意:需要在onReady中 或 onLoad 延时
|
||
this.context = uni.createLivePusherContext("livePusher", this);
|
||
this.startPreview()
|
||
let that = this
|
||
uni.getSystemInfo({
|
||
success(a){
|
||
console.log(a.windowHeight)
|
||
that.height = a.windowHeight
|
||
// that.start()
|
||
|
||
}
|
||
})
|
||
},
|
||
onLoad(a){
|
||
this.url = a.url.replace("*","&")
|
||
|
||
},
|
||
methods: {
|
||
statechange(e) {
|
||
console.log("statechange:" + JSON.stringify(e));
|
||
},
|
||
netstatus(e) {
|
||
console.log("netstatus:" + JSON.stringify(e));
|
||
},
|
||
error(e) {
|
||
console.log("error:" + JSON.stringify(e));
|
||
},
|
||
start: function() {
|
||
console.log(this.url)
|
||
this.context.start({
|
||
success: (a) => {
|
||
console.log("livePusher.start:" + JSON.stringify(a));
|
||
}
|
||
});
|
||
},
|
||
close: function() {
|
||
this.context.close({
|
||
success: (a) => {
|
||
console.log("livePusher.close:" + JSON.stringify(a));
|
||
}
|
||
});
|
||
},
|
||
snapshot: function() {
|
||
this.context.snapshot({
|
||
success: (e) => {
|
||
console.log(JSON.stringify(e));
|
||
}
|
||
});
|
||
},
|
||
resume: function() {
|
||
|
||
this.context.resume({
|
||
success: (a) => {
|
||
console.log(this.url + '12')
|
||
|
||
console.log("livePusher.resume:" + JSON.stringify(a));
|
||
}
|
||
});
|
||
},
|
||
pause: function() {
|
||
this.context.pause({
|
||
success: (a) => {
|
||
console.log("livePusher.pause:" + JSON.stringify(a));
|
||
}
|
||
});
|
||
},
|
||
stop: function() {
|
||
this.context.stop({
|
||
success: (a) => {
|
||
console.log(JSON.stringify(a));
|
||
}
|
||
});
|
||
},
|
||
switchCamera: function() {
|
||
this.context.switchCamera({
|
||
success: (a) => {
|
||
console.log("livePusher.switchCamera:" + JSON.stringify(a));
|
||
}
|
||
});
|
||
},
|
||
startPreview: function() {
|
||
let that = this
|
||
this.context.startPreview({
|
||
success: (a) => {
|
||
console.log("livePusher.startPreview:" + JSON.stringify(a));
|
||
that.start()
|
||
|
||
}
|
||
});
|
||
},
|
||
stopPreview: function() {
|
||
this.context.stopPreview({
|
||
success: (a) => {
|
||
console.log("livePusher.stopPreview:" + JSON.stringify(a));
|
||
}
|
||
});
|
||
},
|
||
guanbi(){
|
||
this.show = false
|
||
console.log(123)
|
||
},
|
||
zuzhi(event){
|
||
event.stopPropagation();
|
||
}
|
||
}
|
||
}
|
||
</script> |