Browse Source

礼物特效

warrior 2 months ago
parent
commit
a3262934be

+ 10 - 6
projects/live-app/src/app/components/flutter-comp/flutter-comp.component.ts

@@ -17,15 +17,15 @@ export class FlutterCompComponent implements OnInit {
       this.playGift(data);
     });
   }
-  playGift(giftModule:any){
-    console.log(giftModule);
+  playGift(param:{video:string,config:any}){
+    console.log('param:',param);
     this.msgSerrvice.isPlayer = true
     let dom = document.getElementById(this.domId);
-    console.log(dom);
+    // console.log(dom);
     let vapPlayer = new Vap.default({
       container: dom, // 要渲染的载体,dom元素
-      src: giftModule.gift?.video, // vap动画地址
-      config: giftModule.gift?.config, // 播放vap动画需要的 json文件。必填
+      src: param.video, // vap动画地址
+      config: param.config, // 播放vap动画需要的 json文件。必填
       width: window.innerWidth, // 容器宽度
       height: window.innerHeight, // 容器高度
       fps: 30, // 帧数,json文件中有这个视频的帧数的,可以看一下,
@@ -44,7 +44,11 @@ export class FlutterCompComponent implements OnInit {
       console.log('播放结束');
       this.msgSerrvice.giftLogMap.pop();
       if(this.msgSerrvice.giftLogMap.length > 0){
-        this.playGift(this.msgSerrvice.giftLogMap.slice(-1)[0]);
+        let obj = this.msgSerrvice.giftLogMap.slice(-1)[0]
+        this.playGift({
+          video: obj.gift.video,
+          config: obj.gift.config,
+        });
       }else{
         this.msgSerrvice.isPlayer = false
       }

+ 13 - 11
projects/live-app/src/services/message.service.ts

@@ -154,13 +154,13 @@ export class MessageService {
   /* 呼叫事件 */
   async callPresence(message: string, publisher: string, channelName: string) {
     let userData = await this.getUserMetadata(publisher);
-    console.log('发出消息用户:', userData);
+    console.log('向我发出事件用户:', userData);
     let toast;
     if (message.indexOf('ONUSERSENDGIFT_') > -1) {
       let arr = message.split('_');
-      // let gift = this.giftList.find((item: any) => item.id == arr[1]);
-      let r = await this.aiServ.getGift(undefined,arr[1])
-      let gift = r[0]
+      let gift = this.giftList.find((item: any) => item.id == arr[1]);
+      // let r = await this.aiServ.getGift(undefined,arr[1])
+      // let gift = r[0]
       this.giftLogMap.push({
         gift,
         count: arr?.[2],
@@ -168,7 +168,11 @@ export class MessageService {
       });
       !this.isPlayer && setTimeout(() => {
         // this.playGift(this.giftLogMap.slice(-1)[0]);
-        this.eventplay.next(this.giftLogMap.slice(-1)[0]);
+        let obj = this.giftLogMap.slice(-1)[0]
+        this.eventplay.next({
+          video: obj.gift.video,
+          config: obj.gift.config,
+        });
       }, 0);
       return;
     }
@@ -201,7 +205,7 @@ export class MessageService {
     switch (message) {
       case 'USERCALLINVITATION':
         await this.setConnectState(this.userId, 'CONNECTING');
-        console.log(`收到${userData?.nickname?.value ?? '未知用户'}通话邀请`);
+        // console.log(`收到${userData?.nickname?.value ?? '未知用户'}通话邀请`);
         this.alert = await this.alertController.create({
           cssClass: 'my-custom-class',
           header: '通话邀请',
@@ -237,7 +241,7 @@ export class MessageService {
         break;
       case 'CLOASEINVITATION':
         await this.setConnectState(this.userId, 'ONLINE');
-        console.log(`${userData?.nickname?.value ?? '未知用户'}取消通话`);
+        // console.log(`${userData?.nickname?.value ?? '未知用户'}取消通话`);
         this.alert?.dismiss();
         toast = await this.toastController.create({
           message: '对方已取消通话邀请',
@@ -247,14 +251,12 @@ export class MessageService {
         toast.present();
         break;
       case 'REFUSEINVITATION_' + this.userId:
-        console.log(`${userData?.nickname?.value ?? '未知用户'}拒绝通话`);
+        // console.log(`${userData?.nickname?.value ?? '未知用户'}拒绝通话`);
         this.alert?.dismiss();
         this.eventSource.next(false);
         break;
       case 'RESPONSEINVITOIN_' + this.userId:
-        console.log(
-          `${userData?.nickname?.value ?? '未知用户'}同意通话,进入视频通话`
-        );
+        // console.log(`${userData?.nickname?.value ?? '未知用户'}同意通话,进入视频通话`);
         this.alert?.dismiss();
         this.eventSource.next(true);
         break;