|
|
@@ -871,76 +871,91 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
startBroadcast(url){
|
|
|
- // 获取推流鉴权KEY
|
|
|
- console.log(this.$loginUser)
|
|
|
- console.log(this.$loginUser.pushKey)
|
|
|
- url += "&sign=" + crypto.createHash('md5').update(this.$loginUser.pushKey, "utf8").digest('hex')
|
|
|
- console.log("开始语音对讲: " + url)
|
|
|
- this.broadcastRtc = new ZLMRTCClient.Endpoint({
|
|
|
- debug: true, // 是否打印日志
|
|
|
- zlmsdpUrl: url, //流地址
|
|
|
- simulecast: false,
|
|
|
- useCamera: false,
|
|
|
- audioEnable: true,
|
|
|
- videoEnable: false,
|
|
|
- recvOnly: false,
|
|
|
- })
|
|
|
+ // 获取推流鉴权Key
|
|
|
+ this.$axios({
|
|
|
+ method: 'post',
|
|
|
+ url: '/api/user/userInfo',
|
|
|
+ }).then( (res)=> {
|
|
|
+ if (res.data.code !== 0) {
|
|
|
+ this.$message({
|
|
|
+ showClose: true,
|
|
|
+ message: "获取推流鉴权Key失败",
|
|
|
+ type: "error",
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ let pushKey = res.data.data.pushKey;
|
|
|
+ // 获取推流鉴权KEY
|
|
|
+ url += "&sign=" + crypto.createHash('md5').update(pushKey, "utf8").digest('hex')
|
|
|
+ console.log("开始语音对讲: " + url)
|
|
|
+ this.broadcastRtc = new ZLMRTCClient.Endpoint({
|
|
|
+ debug: true, // 是否打印日志
|
|
|
+ zlmsdpUrl: url, //流地址
|
|
|
+ simulecast: false,
|
|
|
+ useCamera: false,
|
|
|
+ audioEnable: true,
|
|
|
+ videoEnable: false,
|
|
|
+ recvOnly: false,
|
|
|
+ })
|
|
|
|
|
|
- // webrtcPlayer.on(ZLMRTCClient.Events.WEBRTC_ON_REMOTE_STREAMS,(e)=>{//获取到了远端流,可以播放
|
|
|
- // console.error('播放成功',e.streams)
|
|
|
- // this.broadcastStatus = 1;
|
|
|
- // });
|
|
|
- //
|
|
|
- // webrtcPlayer.on(ZLMRTCClient.Events.WEBRTC_ON_LOCAL_STREAM,(s)=>{// 获取到了本地流
|
|
|
- // this.broadcastStatus = 1;
|
|
|
- // // document.getElementById('selfVideo').srcObject=s;
|
|
|
- // // this.eventcallbacK("LOCAL STREAM", "获取到了本地流")
|
|
|
- // });
|
|
|
+ // webrtcPlayer.on(ZLMRTCClient.Events.WEBRTC_ON_REMOTE_STREAMS,(e)=>{//获取到了远端流,可以播放
|
|
|
+ // console.error('播放成功',e.streams)
|
|
|
+ // this.broadcastStatus = 1;
|
|
|
+ // });
|
|
|
+ //
|
|
|
+ // webrtcPlayer.on(ZLMRTCClient.Events.WEBRTC_ON_LOCAL_STREAM,(s)=>{// 获取到了本地流
|
|
|
+ // this.broadcastStatus = 1;
|
|
|
+ // // document.getElementById('selfVideo').srcObject=s;
|
|
|
+ // // this.eventcallbacK("LOCAL STREAM", "获取到了本地流")
|
|
|
+ // });
|
|
|
|
|
|
- this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_NOT_SUPPORT,(e)=>{// 获取到了本地流
|
|
|
- console.error('不支持webrtc',e)
|
|
|
- this.$message({
|
|
|
- showClose: true,
|
|
|
- message: '不支持webrtc, 无法进行语音对讲',
|
|
|
- type: 'error'
|
|
|
- });
|
|
|
- });
|
|
|
+ this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_NOT_SUPPORT,(e)=>{// 获取到了本地流
|
|
|
+ console.error('不支持webrtc',e)
|
|
|
+ this.$message({
|
|
|
+ showClose: true,
|
|
|
+ message: '不支持webrtc, 无法进行语音对讲',
|
|
|
+ type: 'error'
|
|
|
+ });
|
|
|
+ });
|
|
|
|
|
|
- this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ICE_CANDIDATE_ERROR,(e)=>{// ICE 协商出错
|
|
|
- console.error('ICE 协商出错')
|
|
|
- this.$message({
|
|
|
- showClose: true,
|
|
|
- message: 'ICE 协商出错',
|
|
|
- type: 'error'
|
|
|
- });
|
|
|
- });
|
|
|
+ this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ICE_CANDIDATE_ERROR,(e)=>{// ICE 协商出错
|
|
|
+ console.error('ICE 协商出错')
|
|
|
+ this.$message({
|
|
|
+ showClose: true,
|
|
|
+ message: 'ICE 协商出错',
|
|
|
+ type: 'error'
|
|
|
+ });
|
|
|
+ });
|
|
|
|
|
|
- this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_OFFER_ANWSER_EXCHANGE_FAILED,(e)=>{// offer anwser 交换失败
|
|
|
- console.error('offer anwser 交换失败',e)
|
|
|
- this.$message({
|
|
|
- showClose: true,
|
|
|
- message: 'offer anwser 交换失败' + e,
|
|
|
- type: 'error'
|
|
|
- });
|
|
|
- });
|
|
|
- this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ON_CONNECTION_STATE_CHANGE,(e)=>{// offer anwser 交换失败
|
|
|
- console.log('状态改变',e)
|
|
|
- if (e === "connecting") {
|
|
|
- this.broadcastStatus = 0;
|
|
|
- }else if (e === "connected") {
|
|
|
- this.broadcastStatus = 1;
|
|
|
- }else if (e === "disconnected") {
|
|
|
- this.broadcastStatus = -1;
|
|
|
+ this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_OFFER_ANWSER_EXCHANGE_FAILED,(e)=>{// offer anwser 交换失败
|
|
|
+ console.error('offer anwser 交换失败',e)
|
|
|
+ this.$message({
|
|
|
+ showClose: true,
|
|
|
+ message: 'offer anwser 交换失败' + e,
|
|
|
+ type: 'error'
|
|
|
+ });
|
|
|
+ });
|
|
|
+ this.broadcastRtc.on(ZLMRTCClient.Events.WEBRTC_ON_CONNECTION_STATE_CHANGE,(e)=>{// offer anwser 交换失败
|
|
|
+ console.log('状态改变',e)
|
|
|
+ if (e === "connecting") {
|
|
|
+ this.broadcastStatus = 0;
|
|
|
+ }else if (e === "connected") {
|
|
|
+ this.broadcastStatus = 1;
|
|
|
+ }else if (e === "disconnected") {
|
|
|
+ this.broadcastStatus = -1;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.broadcastRtc.on(ZLMRTCClient.Events.CAPTURE_STREAM_FAILED,(e)=>{// offer anwser 交换失败
|
|
|
+ console.log('捕获流失败',e)
|
|
|
+ this.$message({
|
|
|
+ showClose: true,
|
|
|
+ message: '捕获流失败' + e,
|
|
|
+ type: 'error'
|
|
|
+ });
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
- this.broadcastRtc.on(ZLMRTCClient.Events.CAPTURE_STREAM_FAILED,(e)=>{// offer anwser 交换失败
|
|
|
- console.log('捕获流失败',e)
|
|
|
- this.$message({
|
|
|
- showClose: true,
|
|
|
- message: '捕获流失败' + e,
|
|
|
- type: 'error'
|
|
|
- });
|
|
|
- });
|
|
|
+
|
|
|
+
|
|
|
},
|
|
|
stopBroadcast(){
|
|
|
this.broadcastStatus = -2;
|