gemercheung 3 年之前
父節點
當前提交
a94e49adcf
共有 2 個文件被更改,包括 15 次插入6 次删除
  1. 7 5
      src/meta.gateway.ts
  2. 8 1
      src/scene/scene.service.ts

+ 7 - 5
src/meta.gateway.ts

@@ -35,12 +35,11 @@ initLogger('Debug');
   path: '/ws',
 })
 export class MetaGateway
-  implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect
-{
+  implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect {
   constructor(
     private readonly sceneService: SceneService,
     private readonly configService: ConfigService,
-  ) {}
+  ) { }
   private logger: Logger = new Logger('MetaGateway');
   private peer: PeerConnection = null;
   private timer: NodeJS.Timeout;
@@ -181,7 +180,10 @@ export class MetaGateway
       console.log('track', track);
     });
 
-    this.gameChanel = this.peer.createDataChannel('game-input');
+    this.gameChanel = this.peer.createDataChannel('game-input', {
+      ordered: true,
+      // negotiated: false
+    });
 
     this.peer.onDataChannel((dc) => {
       console.log('onDataChannel', dc);
@@ -288,7 +290,7 @@ export class MetaGateway
           }
         },
       );
-    } catch (error) {}
+    } catch (error) { }
   }
 
   handleConnection(client: WebSocket, ...args: any[]) {

+ 8 - 1
src/scene/scene.service.ts

@@ -749,7 +749,10 @@ export class SceneService implements OnModuleInit, OnModuleDestroy {
     this.holdSteam();
 
     //console.log('joystickRes有mediaSrc', joystickRes.mediaSrc);
-    console.log('handlejoystick-angle->相机角度-------------------------:'+joystickRes['newUserStates'][0].playerState.camera.angle.yaw);
+    console.log(
+      'handlejoystick-angle->相机角度-------------------------:' +
+        joystickRes['newUserStates'][0].playerState.camera.angle.yaw,
+    );
     let streamData: StreamFrameType | StreamMetaType;
 
     // if (this.joystickFrameCnt === -1) {
@@ -1063,6 +1066,9 @@ export class SceneService implements OnModuleInit, OnModuleDestroy {
     this.startSteaming.next(true);
     // this.startStream();
     // this.handleStream();
+    this.channel.onBufferedAmountLow(() => {
+      console.log('onBufferedAmountLow');
+    });
   }
 
   handleDataChanelClose(): void {
@@ -1226,6 +1232,7 @@ export class SceneService implements OnModuleInit, OnModuleDestroy {
             this.peer.bytesReceived() +
             ' bytesSent: ' +
             this.peer.bytesSent(),
+            ' state: ' + this.peer.state(),
           );
           if (frame === 1) {
             // redisData = await this.rotateService.echo(this.user_id, true);