修复了直播
This commit is contained in:
parent
bd59677bb5
commit
24e5c4c50c
@ -8,7 +8,6 @@
|
|||||||
width: 797px;
|
width: 797px;
|
||||||
height: 449px;
|
height: 449px;
|
||||||
border-radius: 17px;
|
border-radius: 17px;
|
||||||
background-color: #0f0;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
>video{
|
>video{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
2
src/types/trtc-js-sdk.d.ts
vendored
2
src/types/trtc-js-sdk.d.ts
vendored
@ -1,4 +1,6 @@
|
|||||||
declare module 'trtc-js-sdk' {
|
declare module 'trtc-js-sdk' {
|
||||||
export function createClient(info: any): any
|
export function createClient(info: any): any
|
||||||
export function createStream(info: any): any
|
export function createStream(info: any): any
|
||||||
|
export function checkSystemRequirements(): any
|
||||||
|
export function isScreenShareSupported(): any
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<div class="top">
|
<div class="top">
|
||||||
<div class="left">直播页面</div>
|
<div class="left">直播页面</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<img src="@/static/images/liveshare.png" alt="" @click="qiehuan()" />
|
<img src="@/static/images/liveshare.png" alt="" @click="fenxiang()" />
|
||||||
<img src="@/static/images/liveend.png" alt="" @click="visible = true" />
|
<img src="@/static/images/liveend.png" alt="" @click="visible = true" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -30,8 +30,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="others" v-for="(item, index) in roominfo.studentlist" :key="index">
|
<div class="others">
|
||||||
<div :id="'s-' + item.memberid" class="othersitem">
|
<div :id="'s-' + item.memberid" class="othersitem" v-for="(item, index) in roominfo.studentlist" :key="index">
|
||||||
<div class="watcher"></div>
|
<div class="watcher"></div>
|
||||||
<div class="name">{{item.name}}</div>
|
<div class="name">{{item.name}}</div>
|
||||||
<!-- <img src="" alt="" /> -->
|
<!-- <img src="" alt="" /> -->
|
||||||
@ -51,11 +51,7 @@
|
|||||||
<div class="name">asdsada</div>
|
<div class="name">asdsada</div>
|
||||||
<img src="" alt="" />
|
<img src="" alt="" />
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="othersitem" id="s-52">
|
|
||||||
<div class="watcher"></div>
|
|
||||||
<div class="name">测试</div>
|
|
||||||
<!-- <img src="" alt="" /> -->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -219,11 +215,15 @@ export default defineComponent({
|
|||||||
const roominfo = ref<any>([]);
|
const roominfo = ref<any>([]);
|
||||||
console.log(useRoute())
|
console.log(useRoute())
|
||||||
const id = useRoute().query.id;
|
const id = useRoute().query.id;
|
||||||
|
TRTC.checkSystemRequirements().then((result: any) => {
|
||||||
|
if(!result) {
|
||||||
|
message.error("您的浏览器不支持视频通话,请下载新版chrome浏览器")
|
||||||
|
}
|
||||||
|
})
|
||||||
async function qiehuan(){
|
async function qiehuan(){
|
||||||
// 1 屏幕分享 2 摄像头
|
// 1 屏幕分享 2 摄像头
|
||||||
client.unpublish(localStream)
|
client.unpublish(localStream)
|
||||||
localStream = type ? TRTC.createStream({ userid: store.state.userinfo.memberid, audio: true, screen: true }) : TRTC.createStream({ userId: 10, audio: true, video: true });
|
localStream = type ? TRTC.createStream({ userid: store.state.userinfo.memberid, audio: true, screen: true }) : TRTC.createStream({ userId: 10, audio: false, video: true });
|
||||||
type = !type;
|
type = !type;
|
||||||
localStream.initialize().then(()=>{
|
localStream.initialize().then(()=>{
|
||||||
client
|
client
|
||||||
@ -232,10 +232,7 @@ export default defineComponent({
|
|||||||
console.error('本地流发布失败 ' + error);
|
console.error('本地流发布失败 ' + error);
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
const el = document.querySelector("#local_stream");
|
|
||||||
if(el){
|
|
||||||
el.innerHTML = ""
|
|
||||||
}
|
|
||||||
localStream.play('local_stream');
|
localStream.play('local_stream');
|
||||||
console.log('本地流发布成功');
|
console.log('本地流发布成功');
|
||||||
});
|
});
|
||||||
@ -243,21 +240,38 @@ export default defineComponent({
|
|||||||
|
|
||||||
}
|
}
|
||||||
async function pingmu(){
|
async function pingmu(){
|
||||||
|
const result = await TRTC.checkSystemRequirements()
|
||||||
|
console.log(result,11111)
|
||||||
|
if(!result) {
|
||||||
|
message.error("您的浏览器不支持屏幕分享,请下载新版chrome");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
|
||||||
localStream = TRTC.createStream({ userid: store.state.userinfo.memberid, audio: true, screen: true });
|
localStream = TRTC.createStream({ userid: store.state.userinfo.memberid, audio: true, screen: true });
|
||||||
const id = localStream.getId();
|
const id = localStream.getId();
|
||||||
await localStream
|
await localStream
|
||||||
.initialize()
|
.initialize()
|
||||||
.catch((error: string) => {
|
.catch((error: string) => {
|
||||||
console.error('初始化本地流失败 ' + error);
|
console.error('初始化本地流失败 ' + error);
|
||||||
|
message.error("请选择分享的内容")
|
||||||
|
|
||||||
|
setTimeout(()=>{
|
||||||
|
pingmu()
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
console.log('初始化本地流成功');
|
console.log('初始化本地流成功');
|
||||||
client
|
client
|
||||||
.publish(localStream)
|
.publish(localStream)
|
||||||
.catch((error: string) => {
|
.catch((error: string) => {
|
||||||
console.error('本地流发布失败 ' + error);
|
console.log('本地流发布失败 ' + error);
|
||||||
|
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
const el = document.querySelector("#local_stream");
|
||||||
|
if(el){
|
||||||
|
el.innerHTML = ""
|
||||||
|
}
|
||||||
localStream.play('local_stream');
|
localStream.play('local_stream');
|
||||||
console.log('本地流发布成功');
|
console.log('本地流发布成功');
|
||||||
console.log(id , 123)
|
console.log(id , 123)
|
||||||
@ -280,6 +294,10 @@ export default defineComponent({
|
|||||||
console.error('本地流发布失败 ' + error);
|
console.error('本地流发布失败 ' + error);
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
const el = document.querySelector("#local_stream");
|
||||||
|
if(el){
|
||||||
|
el.innerHTML = ""
|
||||||
|
}
|
||||||
localStream.play('local_stream');
|
localStream.play('local_stream');
|
||||||
console.log('本地流发布成功');
|
console.log('本地流发布成功');
|
||||||
console.log(id, 123)
|
console.log(id, 123)
|
||||||
@ -317,7 +335,7 @@ export default defineComponent({
|
|||||||
remoteStream.play('s-' + remoteStream.userId_);
|
remoteStream.play('s-' + remoteStream.userId_);
|
||||||
});
|
});
|
||||||
client
|
client
|
||||||
.join({ roomId: roominfo.value.roomid })
|
.join({ roomId: 12 })
|
||||||
.catch((error: string) => {
|
.catch((error: string) => {
|
||||||
console.error('进房失败 ' + error);
|
console.error('进房失败 ' + error);
|
||||||
})
|
})
|
||||||
@ -333,12 +351,16 @@ export default defineComponent({
|
|||||||
await client.unpublish(localStream).then(() => {
|
await client.unpublish(localStream).then(() => {
|
||||||
// 关闭屏幕分享流
|
// 关闭屏幕分享流
|
||||||
console.log("关闭")
|
console.log("关闭")
|
||||||
client.leave().then(() => {
|
// client.leave().then(() => {
|
||||||
// leaving room success
|
// // leaving room success
|
||||||
console.log("关闭成功")
|
// console.log("关闭成功")
|
||||||
}).catch((error: string) => {
|
// }).catch((error: string) => {
|
||||||
console.error('leaving room failed: ' + error);
|
// console.error('leaving room failed: ' + error);
|
||||||
});
|
// });
|
||||||
|
const el = document.querySelector("#local_stream");
|
||||||
|
if(el){
|
||||||
|
el.innerHTML = ""
|
||||||
|
}
|
||||||
});
|
});
|
||||||
statie ? await shexiang() : await pingmu();
|
statie ? await shexiang() : await pingmu();
|
||||||
statie = !statie;
|
statie = !statie;
|
||||||
@ -356,9 +378,15 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
onMounted(async ()=>{
|
onMounted(async ()=>{
|
||||||
|
const si = setInterval(async ()=>{
|
||||||
|
if(store.state.userinfo.memberid != 0 && store.state.userinfo.memberid){
|
||||||
|
clearInterval(si);
|
||||||
userSing = await usersig(store.state.userinfo.memberid);
|
userSing = await usersig(store.state.userinfo.memberid);
|
||||||
|
|
||||||
init(pingmu, userSing);
|
init(pingmu, userSing);
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
return{
|
return{
|
||||||
|
Loading…
Reference in New Issue
Block a user