shuisheng 2 anni fa
parent
commit
71f349959e

+ 4 - 2
src/hooks/use-push.ts

@@ -201,7 +201,7 @@ export function usePush() {
     });
   }
 
-  async function startLive({ type, msrDelay }) {
+  async function startLive({ type, msrDelay, msrMaxDelay }) {
     if (!loginTip()) return;
     const flag = await handleUserHasLiveRoom();
     if (!flag) {
@@ -241,6 +241,7 @@ export function usePush() {
       name: roomName.value,
       type,
       msrDelay,
+      msrMaxDelay,
     });
   }
 
@@ -258,7 +259,7 @@ export function usePush() {
     closeRtc();
   }
 
-  function sendBlob(data: { blob; blobId: string; delay }) {
+  function sendBlob(data: { blob; blobId: string; delay; max_delay }) {
     const instance = networkStore.wsMap.get(roomId.value);
     if (instance) {
       instance.send<WsMsrBlobType['data']>({
@@ -269,6 +270,7 @@ export function usePush() {
           blob: data.blob,
           blob_id: data.blobId,
           delay: data.delay,
+          max_delay: data.max_delay,
         },
       });
     }

+ 3 - 0
src/hooks/use-websocket.ts

@@ -102,12 +102,14 @@ export const useWebsocket = () => {
     name,
     type,
     msrDelay,
+    msrMaxDelay,
   }: {
     coverImg?: string;
     name?: string;
     type: LiveRoomTypeEnum;
     videoEl?: HTMLVideoElement;
     msrDelay: number;
+    msrMaxDelay: number;
   }) {
     networkStore.wsMap.get(roomId.value)?.send<WsStartLiveType['data']>({
       requestId: getRandomString(8),
@@ -117,6 +119,7 @@ export const useWebsocket = () => {
         name: name!,
         type,
         msrDelay,
+        msrMaxDelay,
       },
     });
     if (type === LiveRoomTypeEnum.user_msr) {

+ 4 - 0
src/interface-ws.ts

@@ -155,6 +155,8 @@ export type WsStartLiveType = IWsFormat<{
   type: LiveRoomTypeEnum;
   /** 单位:毫秒 */
   msrDelay: number;
+  /** 单位:毫秒 */
+  msrMaxDelay: number;
 }>;
 
 /** 用户加入直播间 */
@@ -183,6 +185,8 @@ export type WsMsrBlobType = IWsFormat<{
   blob_id: string;
   /** 单位:毫秒 */
   delay: number;
+  /** 单位:毫秒 */
+  max_delay: number;
 }>;
 
 export type WsOfferType = IWsFormat<{

+ 0 - 7
src/views/pull/index.vue

@@ -464,13 +464,6 @@ watch(
   () => remoteVideo.value,
   (newVal) => {
     newVal.forEach((item) => {
-      console.log(
-        'kkkkk',
-        remoteVideoRef.value,
-        roomLiving.value,
-        videoLoading.value,
-        item
-      );
       nextTick(() => {
         setTimeout(() => {
           remoteVideoRef.value?.appendChild(item);

+ 4 - 1
src/views/push/index.vue

@@ -443,7 +443,8 @@ const liveType = Number(route.query.liveType);
 const recorder = ref<MediaRecorder>();
 const sendBlobTimer = ref();
 const bolbId = ref(0);
-const msrDelay = ref(1000 * 2);
+const msrDelay = ref(1000 * 1);
+const msrMaxDelay = ref(1000 * 5);
 
 watch(
   () => roomLiving.value,
@@ -522,6 +523,7 @@ function handleSendBlob(event: BlobEvent) {
     blob: event.data,
     blobId: `${bolbId.value}`,
     delay: msrDelay.value,
+    max_delay: msrMaxDelay.value,
   });
 }
 
@@ -794,6 +796,7 @@ function handleStartLive() {
   startLive({
     type: liveType,
     msrDelay: msrDelay.value,
+    msrMaxDelay: 5000,
   });
   if (liveType === LiveRoomTypeEnum.user_msr) {
     const stream = pushCanvasRef.value!.captureStream();