Jelajahi Sumber

VideoManager

liuzhenxing1118 7 bulan lalu
induk
melakukan
2e96a8c64a

+ 1 - 1
artimenring-iOS/Artimenring/Artimenring-Prefix.pch

@@ -67,7 +67,7 @@
 #import "DataManager+session.h"
 #import "DataManager+api.h"
 #import "DataManager+delegate.h"
-#import "JuphoonManager.h"
+#import "VideoManager.h"
 
 #import <Reachability.h>
 #import "AFNetworking.h"

+ 1 - 1
artimenring-iOS/Artimenring/Classes/Chat/ZSChat/SKChatMembersViewController.m

@@ -161,7 +161,7 @@ static NSString * const HeaderReuseIdentifier = @"SKChatMembersHeaderID";
     SessionMemberModel* model = [[self.mSessionModel getMembers] objectAtIndex:index];
     ChildModel* childModel = [[DataManager shared] getChild:model.refId];
     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-        [[JuphoonManager shared] videoStart:self.mSessionModel.sid ticket:childModel.device.ticket dial:1];
+        [[VideoManager shared] videoStart:self.mSessionModel.sid ticket:childModel.device.ticket dial:1];
     });
 }
 

+ 1 - 1
artimenring-iOS/Artimenring/Classes/Chat/ZSChat/SKChatViewController+more.m

@@ -71,7 +71,7 @@
 - (void)showVideoEx {
     ChildModel* childModel = [[DataManager shared] getChild:[self.mSessionModel getChildId]];
     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-        [[JuphoonManager shared] videoStart:self.mSessionModel.sid ticket:childModel.device.ticket dial:1];
+        [[VideoManager shared] videoStart:self.mSessionModel.sid ticket:childModel.device.ticket dial:1];
     });
 }
 

+ 1 - 1
artimenring-iOS/Artimenring/Classes/Data/DataManager.m

@@ -49,7 +49,7 @@
     [UserDataHelper setHasLogin:NO];
     
     [[SKWebSocket share] disconnect];
-    [[JuphoonManager shared] logoutJuphoon];
+    [[VideoManager shared] logoutJuphoon];
     
     self.loginModel = nil;
     self.mSelectChildModel = nil;

+ 3 - 3
artimenring-iOS/Artimenring/Classes/Data/JuphoonManager+ringtone.h → artimenring-iOS/Artimenring/Classes/Data/VideoManager+ringtone.h

@@ -1,16 +1,16 @@
 //
-//  JuphoonManager+ringtone.h
+//  VideoManager+ringtone.h
 //  SikeyComm
 //
 //  Created by 刘振兴 on 2024/5/7.
 //  Copyright © 2024 BaH Cy. All rights reserved.
 //
 
-#import "JuphoonManager.h"
+#import "VideoManager.h"
 
 NS_ASSUME_NONNULL_BEGIN
 
-@interface JuphoonManager (ringtone)
+@interface VideoManager (ringtone)
 
 - (void)playVideoWaitingRingtone;
 

+ 3 - 3
artimenring-iOS/Artimenring/Classes/Data/JuphoonManager+ringtone.m → artimenring-iOS/Artimenring/Classes/Data/VideoManager+ringtone.m

@@ -1,15 +1,15 @@
 //
-//  JuphoonManager+ringtone.m
+//  VideoManager+ringtone.m
 //  SikeyComm
 //
 //  Created by 刘振兴 on 2024/5/7.
 //  Copyright © 2024 BaH Cy. All rights reserved.
 //
 
-#import "JuphoonManager+ringtone.h"
+#import "VideoManager+ringtone.h"
 #import "AudioSound.h"
 
-@implementation JuphoonManager (ringtone)
+@implementation VideoManager (ringtone)
 
 - (void)playVideoWaitingRingtone {
     dispatch_async(dispatch_get_main_queue(), ^{

+ 3 - 3
artimenring-iOS/Artimenring/Classes/Data/JuphoonManager+timer.h → artimenring-iOS/Artimenring/Classes/Data/VideoManager+timer.h

@@ -1,16 +1,16 @@
 //
-//  JuphoonManager+timer.h
+//  VideoManager+timer.h
 //  SikeyComm
 //
 //  Created by 刘振兴 on 2024/3/21.
 //  Copyright © 2024 BaH Cy. All rights reserved.
 //
 
-#import "JuphoonManager.h"
+#import "VideoManager.h"
 
 NS_ASSUME_NONNULL_BEGIN
 
-@interface JuphoonManager (timer)
+@interface VideoManager (timer)
 
 - (void)startVideoTimer;
 - (void)stopVideoTimer;

+ 3 - 3
artimenring-iOS/Artimenring/Classes/Data/JuphoonManager+timer.m → artimenring-iOS/Artimenring/Classes/Data/VideoManager+timer.m

@@ -1,14 +1,14 @@
 //
-//  JuphoonManager+timer.m
+//  VideoManager+timer.m
 //  SikeyComm
 //
 //  Created by 刘振兴 on 2024/3/21.
 //  Copyright © 2024 BaH Cy. All rights reserved.
 //
 
-#import "JuphoonManager+timer.h"
+#import "VideoManager+timer.h"
 
-@implementation JuphoonManager (timer)
+@implementation VideoManager (timer)
 
 #pragma mark - Heart
 - (void)startVideoTimer {

+ 3 - 3
artimenring-iOS/Artimenring/Classes/Data/JuphoonManager.h → artimenring-iOS/Artimenring/Classes/Data/VideoManager.h

@@ -1,5 +1,5 @@
 //
-//  JuphoonManager.h
+//  VideoManager.h
 //  SikeyComm
 //
 //  Created by 刘振兴 on 2024/3/21.
@@ -15,9 +15,9 @@ NS_ASSUME_NONNULL_BEGIN
 #define kCallIetmKey @"kCallIetmKey"
 
 
-@interface JuphoonManager : NSObject
+@interface VideoManager : NSObject
 
-+ (JuphoonManager *)shared;
++ (VideoManager *)shared;
 
 @property(nonatomic, strong) JCClient *mJuphoonClient;
 @property(nonatomic, strong) JCCall *mJuphoonCall;

+ 8 - 8
artimenring-iOS/Artimenring/Classes/Data/JuphoonManager.m → artimenring-iOS/Artimenring/Classes/Data/VideoManager.m

@@ -1,24 +1,24 @@
 //
-//  JuphoonManager.m
+//  VideoManager.m
 //  SikeyComm
 //
 //  Created by 刘振兴 on 2024/3/21.
 //  Copyright © 2024 BaH Cy. All rights reserved.
 //
 
-#import "JuphoonManager.h"
-#import "JuphoonManager+timer.h"
+#import "VideoManager.h"
+#import "VideoManager+timer.h"
 
-@interface JuphoonManager() <JCClientCallback, JCMediaDeviceCallback, JCCallCallback>
+@interface VideoManager() <JCClientCallback, JCMediaDeviceCallback, JCCallCallback>
 @end
 
-@implementation JuphoonManager
+@implementation VideoManager
 
-+ (JuphoonManager *)shared {
-    static JuphoonManager *manager;
++ (VideoManager *)shared {
+    static VideoManager *manager;
     static dispatch_once_t token;
     dispatch_once(&token, ^{
-        manager = [[JuphoonManager alloc] init];
+        manager = [[VideoManager alloc] init];
     });
     return manager;
 }

+ 2 - 2
artimenring-iOS/Artimenring/Classes/Socket/SKPushMessage.m

@@ -64,11 +64,11 @@
             break;
         
         case 40: {//视频来电通知消息
-            [[JuphoonManager shared] actionFromSocket:socketModel dial:1];
+            [[VideoManager shared] actionFromSocket:socketModel dial:1];
             break;
         }
         case 41: {//视频挂断通知消息
-            [[JuphoonManager shared] actionFromSocket:socketModel dial:0];
+            [[VideoManager shared] actionFromSocket:socketModel dial:0];
             break;
         }
             

+ 39 - 39
artimenring-iOS/Artimenring/Classes/ViewController/Call/SKInCallViewController.m

@@ -7,7 +7,7 @@
 //
 
 #import "SKInCallViewController.h"
-#import "JuphoonManager+ringtone.h"
+#import "VideoManager+ringtone.h"
 
 #define kDoodleVersionChecker 1
 #define AUDIO_RECORD_DIR @"audio_record"
@@ -64,7 +64,7 @@
     [EUtil setViewShadow:self.mWaitNameLabel color:[UIColor colorWithRed:0/255.0f green:1/255.0f blue:75/255.0f alpha:0.2] offset:CGSizeMake(0, 2) opacity:1 radius:4];
     [EUtil setViewShadow:self.mWaitOutHintLabel color:[UIColor colorWithRed:0/255.0f green:1/255.0f blue:75/255.0f alpha:0.2] offset:CGSizeMake(0, 2) opacity:1 radius:4];
     [EUtil setViewShadow:self.mWaitInHintLabel color:[UIColor colorWithRed:0/255.0f green:1/255.0f blue:75/255.0f alpha:0.2] offset:CGSizeMake(0, 2) opacity:1 radius:4];
-    [JuphoonManager shared].mJuphoonMediaDevice.videoAngle = JCMediaDeviceVideoAngel0;
+    [VideoManager shared].mJuphoonMediaDevice.videoAngle = JCMediaDeviceVideoAngel0;
     
     [EUtil setViewShadow:self.mIngNameLabel color:[UIColor colorWithRed:0/255.0f green:1/255.0f blue:75/255.0f alpha:0.2] offset:CGSizeMake(0, 2) opacity:1 radius:4];
     [EUtil setViewShadow:self.mIngTimeLabel color:[UIColor colorWithRed:0/255.0f green:1/255.0f blue:75/255.0f alpha:0.2] offset:CGSizeMake(0, 2) opacity:1 radius:4];
@@ -76,7 +76,7 @@
     isMoveInSmallCanvas = NO;
     [self initView];
     [self updateUI:nil];
-    [[JuphoonManager shared] playVideoWaitingRingtone];
+    [[VideoManager shared] playVideoWaitingRingtone];
 }
 
 - (void)viewWillAppear:(BOOL)animated {
@@ -85,7 +85,7 @@
 }
 
 - (void)viewDidAppear:(BOOL)animated {
-    [[JuphoonManager shared].mJuphoonMediaDevice enableSpeaker:YES];
+    [[VideoManager shared].mJuphoonMediaDevice enableSpeaker:YES];
 }
 
 - (void)viewWillDisappear:(BOOL)animated {
@@ -103,7 +103,7 @@
 - (void)dealloc {
     [[NSNotificationCenter defaultCenter] removeObserver:self];
     [[UIApplication sharedApplication] setIdleTimerDisabled:NO];
-    [[JuphoonManager shared] playVideoFinishRingtone];
+    [[VideoManager shared] playVideoFinishRingtone];
 }
 
 - (NSObject*)getRemoteCanvas {
@@ -111,12 +111,12 @@
 }
 
 - (void)initView {
-    [EUtil setURLImage:self.mWaitHeadImage placeHolderName:@"avatar" imageURL:[[JuphoonManager shared] getTalkHeadImageURL] cornerRadius:self.mWaitHeadImage.frame.size.width/2];
+    [EUtil setURLImage:self.mWaitHeadImage placeHolderName:@"avatar" imageURL:[[VideoManager shared] getTalkHeadImageURL] cornerRadius:self.mWaitHeadImage.frame.size.width/2];
 }
 
 - (void)updateUI:(NSNotification *)noti {
-    NSInteger count = [JuphoonManager shared].mJuphoonCall.callItems.count;
-    JCCallItem *activeCall = [JuphoonManager shared].mJuphoonCall.callItems.firstObject;
+    NSInteger count = [VideoManager shared].mJuphoonCall.callItems.count;
+    JCCallItem *activeCall = [VideoManager shared].mJuphoonCall.callItems.firstObject;
     HDNormalLog(([NSString stringWithFormat:@"SKJuphoon: updateUI count:%ld updateUI: %ld", count, activeCall.state]));
 
     if (activeCall.state == JCCallStateInit || activeCall.state == JCCallStatePending) {
@@ -128,18 +128,18 @@
         self.mIngView.hidden = YES;
         
         self.mIngNameLabel.text = @"";
-        self.mWaitNameLabel.text = [[JuphoonManager shared] getTalkName];
+        self.mWaitNameLabel.text = [[VideoManager shared] getTalkName];
         self.mWaitInHintLabel.hidden = activeCall.direction != JCCallDirectionIn;
         self.mWaitOutHintLabel.hidden = activeCall.direction != JCCallDirectionOut;
         
         if (activeCall.video) {
             if (_localCanvas == nil && activeCall.uploadVideoStreamSelf) {
-                _localCanvas = [[JuphoonManager shared].mJuphoonMediaDevice startCameraVideo:JCMediaDeviceRenderFullScreen];
+                _localCanvas = [[VideoManager shared].mJuphoonMediaDevice startCameraVideo:JCMediaDeviceRenderFullScreen];
                 //_localCanvas.videoView.frame = CGRectMake(SCREEN_WIDTH - 150, SCREEN_HEIGHT - 150 - 160, 120, 160);
                 _localCanvas.videoView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
                 [self.view insertSubview:_localCanvas.videoView aboveSubview:self.backgroudView];
             } else if (_localCanvas != nil && !activeCall.uploadVideoStreamSelf) {
-                [[JuphoonManager shared].mJuphoonMediaDevice stopVideo:_localCanvas];
+                [[VideoManager shared].mJuphoonMediaDevice stopVideo:_localCanvas];
                 [_localCanvas.videoView removeFromSuperview];
                 _localCanvas = nil;
             }
@@ -150,23 +150,23 @@
         self.mWaitHeaderView.hidden = YES;
         self.mIngHeaderView.hidden = NO;
         self.mIngView.hidden = NO;
-        self.mIngNameLabel.text = [[JuphoonManager shared] getTalkName];
+        self.mIngNameLabel.text = [[VideoManager shared] getTalkName];
 
         self.switchCameraBtn.enabled = activeCall.video;
         self.holdBtn.enabled = !activeCall.held;
         self.holdBtn.selected = activeCall.hold;
         self.muteBtn.selected = activeCall.mute;
-        self.speakerBtn.selected = [JuphoonManager shared].mJuphoonMediaDevice.isSpeakerOn;
+        self.speakerBtn.selected = [VideoManager shared].mJuphoonMediaDevice.isSpeakerOn;
         
         if (activeCall != nil && activeCall.audioRecord && (activeCall.hold || activeCall.held)) {
-            [[JuphoonManager shared].mJuphoonCall audioRecord:activeCall enable:false filePath:@""];
+            [[VideoManager shared].mJuphoonCall audioRecord:activeCall enable:false filePath:@""];
         }
         if (activeCall != nil && activeCall.localVideoRecord && !activeCall.uploadVideoStreamSelf) {
-            //[[JuphoonManager shared].mJuphoonCall videoRecord:activeCall enable:false remote:false width:0 height:0 filePath:@""];
-            [[JuphoonManager shared].mJuphoonCall videoRecord:activeCall enable:false remote:false width:0 height:0 filePath:@"" bothAudio:false keyFrame:10];
+            //[[VideoManager shared].mJuphoonCall videoRecord:activeCall enable:false remote:false width:0 height:0 filePath:@""];
+            [[VideoManager shared].mJuphoonCall videoRecord:activeCall enable:false remote:false width:0 height:0 filePath:@"" bothAudio:false keyFrame:10];
         }
         if (activeCall != nil && activeCall.remoteVideoRecord && !activeCall.uploadVideoStreamOther) {
-            [[JuphoonManager shared].mJuphoonCall videoRecord:activeCall enable:false remote:true width:0 height:0 filePath:@"" bothAudio:false keyFrame:10];
+            [[VideoManager shared].mJuphoonCall videoRecord:activeCall enable:false remote:true width:0 height:0 filePath:@"" bothAudio:false keyFrame:10];
         }
         if (activeCall.video) {
             if (_localCanvas != nil && activeCall.uploadVideoStreamSelf) {
@@ -177,20 +177,20 @@
             }
             
             if (_remoteCanvas == nil && activeCall.uploadVideoStreamOther) {
-                _remoteCanvas = [[JuphoonManager shared].mJuphoonMediaDevice startVideo:activeCall.renderId renderType:JCMediaDeviceRenderFullContent];
+                _remoteCanvas = [[VideoManager shared].mJuphoonMediaDevice startVideo:activeCall.renderId renderType:JCMediaDeviceRenderFullContent];
                 _remoteCanvas.videoView.frame = self.view.frame;
                 _remoteCanvas.videoView.hidden = !activeCall.uploadVideoStreamSelf;
                 [self.view insertSubview:_remoteCanvas.videoView aboveSubview:self.backgroudView];
-                [[JuphoonManager shared].mJuphoonMediaDevice enableSpeaker:YES];
+                [[VideoManager shared].mJuphoonMediaDevice enableSpeaker:YES];
             } else if (_remoteCanvas != nil && !activeCall.uploadVideoStreamOther) {
-                [[JuphoonManager shared].mJuphoonMediaDevice stopVideo:_remoteCanvas];
+                [[VideoManager shared].mJuphoonMediaDevice stopVideo:_remoteCanvas];
                 [_remoteCanvas.videoView removeFromSuperview];
                 _remoteCanvas = nil;
             }
         }
             
         [self startTimer];
-        [[JuphoonManager shared] stopVideoRingtone];
+        [[VideoManager shared] stopVideoRingtone];
     } else {
         self.mInVideoView.hidden = YES;
     }
@@ -202,41 +202,41 @@
 #pragma mark - Incoming Actions
 - (IBAction)endCall:(id)sender {
     //通话中挂断; 自己发起时,对方未接通,自己挂断//
-    [[JuphoonManager shared] videoEnd:NO isSendMessage:YES];
+    [[VideoManager shared] videoEnd:NO isSendMessage:YES];
 }
 
 - (IBAction)endCallWhenIncoming:(id)sender {
     //对方发起时,自己拒接//
-    [[JuphoonManager shared] videoEnd:YES isSendMessage:YES];
+    [[VideoManager shared] videoEnd:YES isSendMessage:YES];
 }
 
 - (IBAction)videoAnswer:(id)sender {
-    [[JuphoonManager shared].mJuphoonCall answer:[self getActiveCall] video:true];
+    [[VideoManager shared].mJuphoonCall answer:[self getActiveCall] video:true];
 }
 
 - (IBAction)voiceAnswer:(id)sender {
-    [[JuphoonManager shared].mJuphoonCall answer:[self getActiveCall] video:false];
+    [[VideoManager shared].mJuphoonCall answer:[self getActiveCall] video:false];
 }
 
 #pragma mark - In Calling Actions
 
 - (IBAction)setCameraState:(id)sender {
-    [[JuphoonManager shared].mJuphoonCall enableUploadVideoStream:[self getActiveCall]];
+    [[VideoManager shared].mJuphoonCall enableUploadVideoStream:[self getActiveCall]];
 }
 
 - (IBAction)addNewCall:(id)sender {
 }
 
 - (IBAction)switchCamera:(id)sender {
-    [[JuphoonManager shared].mJuphoonMediaDevice switchCamera];
+    [[VideoManager shared].mJuphoonMediaDevice switchCamera];
 }
 
 - (IBAction)hold:(id)sender {
-    [[JuphoonManager shared].mJuphoonCall hold:[self getActiveCall]];
+    [[VideoManager shared].mJuphoonCall hold:[self getActiveCall]];
 }
 
 - (IBAction)mute:(id)sender {
-    [[JuphoonManager shared].mJuphoonCall mute:[self getActiveCall]];
+    [[VideoManager shared].mJuphoonCall mute:[self getActiveCall]];
 }
 
 - (IBAction)audioRecord:(id)sender {
@@ -249,8 +249,8 @@
 }
 
 - (IBAction)speaker:(id)sender {
-    [[JuphoonManager shared].mJuphoonMediaDevice enableSpeaker:![JuphoonManager shared].mJuphoonMediaDevice.isSpeakerOn];
-    self.speakerBtn.selected = [JuphoonManager shared].mJuphoonMediaDevice.isSpeakerOn;
+    [[VideoManager shared].mJuphoonMediaDevice enableSpeaker:![VideoManager shared].mJuphoonMediaDevice.isSpeakerOn];
+    self.speakerBtn.selected = [VideoManager shared].mJuphoonMediaDevice.isSpeakerOn;
 }
 
 - (IBAction)callStatistics:(id)sender {
@@ -258,7 +258,7 @@
 
 #pragma mark - 工具函数
 -(JCCallItem*)getActiveCall {
-    for (JCCallItem* item in [JuphoonManager shared].mJuphoonCall.callItems) {
+    for (JCCallItem* item in [VideoManager shared].mJuphoonCall.callItems) {
         if (item.active) {
             return item;
         }
@@ -304,13 +304,13 @@
 
 - (void)removeCanvas {
     if (_localCanvas) {
-        [[JuphoonManager shared].mJuphoonMediaDevice stopVideo:_localCanvas];
+        [[VideoManager shared].mJuphoonMediaDevice stopVideo:_localCanvas];
         [_localCanvas.videoView removeFromSuperview];
         _localCanvas = nil;
         _mSmallCanvas = nil;
     }
     if (_remoteCanvas) {
-        [[JuphoonManager shared].mJuphoonMediaDevice stopVideo:_remoteCanvas];
+        [[VideoManager shared].mJuphoonMediaDevice stopVideo:_remoteCanvas];
         [_remoteCanvas.videoView removeFromSuperview];
         _remoteCanvas = nil;
     }
@@ -335,7 +335,7 @@
 
 - (void)timerProc {
     self.mIngHeaderView.hidden = NO;
-    JCCallItem *activeCall = [JuphoonManager shared].mJuphoonCall.callItems.firstObject;
+    JCCallItem *activeCall = [VideoManager shared].mJuphoonCall.callItems.firstObject;
     self.mIngTimeLabel.text = [self genCallInfo:activeCall];
     self.mIngNetWorkLabel.text = [self genNetStatus:activeCall];
     if (activeCall.direction == JCCallDirectionOut) {
@@ -344,7 +344,7 @@
 
 - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
     //如果不在通话
-    JCCallItem *activeCall = [JuphoonManager shared].mJuphoonCall.callItems.firstObject;
+    JCCallItem *activeCall = [VideoManager shared].mJuphoonCall.callItems.firstObject;
     if (!activeCall.video && activeCall.state != JCCallStateTalking)
         return;
     
@@ -364,7 +364,7 @@
 
 - (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
     //如果不在通话
-    JCCallItem *activeCall = [JuphoonManager shared].mJuphoonCall.callItems.firstObject;
+    JCCallItem *activeCall = [VideoManager shared].mJuphoonCall.callItems.firstObject;
     if (!activeCall.video && activeCall.state != JCCallStateTalking)
         return;
     
@@ -403,7 +403,7 @@
 
 - (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
     //如果不在通话
-    JCCallItem *activeCall = [JuphoonManager shared].mJuphoonCall.callItems.firstObject;
+    JCCallItem *activeCall = [VideoManager shared].mJuphoonCall.callItems.firstObject;
     if (!activeCall.video && activeCall.state != JCCallStateTalking)
         return;
     
@@ -414,7 +414,7 @@
 
 - (void)touchesCancelled:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
     //如果不在通话
-    JCCallItem *activeCall = [JuphoonManager shared].mJuphoonCall.callItems.firstObject;
+    JCCallItem *activeCall = [VideoManager shared].mJuphoonCall.callItems.firstObject;
     if (!activeCall.video && activeCall.state != JCCallStateTalking)
         return;
     

+ 1 - 1
artimenring-iOS/Artimenring/Classes/ViewController/Tabbar/SKTabbarViewController+function.m

@@ -29,7 +29,7 @@
     //推送历史
     //[self requestPushRecord];
     
-    [[JuphoonManager shared] initJuphoon];
+    [[VideoManager shared] initJuphoon];
     
     [[DataManager shared] requestSession:^(BOOL isOK) {
     }];

+ 18 - 18
artimenring-iOS/SikeyComm.xcodeproj/project.pbxproj

@@ -179,7 +179,6 @@
 		7BECF0D51B54DE5700FBC7BF /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BECF0D41B54DE5700FBC7BF /* AVFoundation.framework */; };
 		E4010C2D2BEA3C4C00C0A23F /* video_end.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = E4010C2B2BEA3C4C00C0A23F /* video_end.mp3 */; };
 		E4010C2E2BEA3C4C00C0A23F /* video_start.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = E4010C2C2BEA3C4C00C0A23F /* video_start.mp3 */; };
-		E4010C312BEA406F00C0A23F /* JuphoonManager+ringtone.m in Sources */ = {isa = PBXBuildFile; fileRef = E4010C302BEA406F00C0A23F /* JuphoonManager+ringtone.m */; };
 		E41849612B8C8CCB000C18DB /* SKAlarmClockTitleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E41849602B8C8CCB000C18DB /* SKAlarmClockTitleViewController.m */; };
 		E41ECB5C2CF95C6C00C4C36C /* SKMainViewController+location.m in Sources */ = {isa = PBXBuildFile; fileRef = E41ECB4C2CF95C6B00C4C36C /* SKMainViewController+location.m */; };
 		E41ECB5D2CF95C6C00C4C36C /* SKMainViewController+realpos.m in Sources */ = {isa = PBXBuildFile; fileRef = E41ECB4D2CF95C6B00C4C36C /* SKMainViewController+realpos.m */; };
@@ -225,13 +224,14 @@
 		E41ECBD22CF960DA00C4C36C /* SKBaseTabarItemViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E41ECBCD2CF960DA00C4C36C /* SKBaseTabarItemViewController.m */; };
 		E41ECBD32CF960DA00C4C36C /* SKBaseAccountViewController+code.m in Sources */ = {isa = PBXBuildFile; fileRef = E41ECBCF2CF960DA00C4C36C /* SKBaseAccountViewController+code.m */; };
 		E41ECBD62CF968EC00C4C36C /* SKTabbarViewController+function.m in Sources */ = {isa = PBXBuildFile; fileRef = E41ECBD42CF968EC00C4C36C /* SKTabbarViewController+function.m */; };
-		E420015E2BAC1FDD000D26B2 /* JuphoonManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E420015D2BAC1FDD000D26B2 /* JuphoonManager.m */; };
-		E42001612BAC23A8000D26B2 /* JuphoonManager+timer.m in Sources */ = {isa = PBXBuildFile; fileRef = E42001602BAC23A8000D26B2 /* JuphoonManager+timer.m */; };
+		E420015E2BAC1FDD000D26B2 /* VideoManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E420015D2BAC1FDD000D26B2 /* VideoManager.m */; };
 		E42001642BAD3202000D26B2 /* NSDate+format.m in Sources */ = {isa = PBXBuildFile; fileRef = E42001632BAD3202000D26B2 /* NSDate+format.m */; };
 		E42D819E2C057A1200398588 /* UIImagePickerController+GJImagePickerVC.m in Sources */ = {isa = PBXBuildFile; fileRef = E42D819D2C057A1200398588 /* UIImagePickerController+GJImagePickerVC.m */; };
 		E43714722B4D50D2003CA842 /* DataManager+delegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E43714712B4D50D2003CA842 /* DataManager+delegate.m */; };
 		E437147B2B4FCC1E003CA842 /* DataManager+timer.m in Sources */ = {isa = PBXBuildFile; fileRef = E437147A2B4FCC1E003CA842 /* DataManager+timer.m */; };
 		E43C72D92B0C7C3A0089E25B /* ZSActionButton.m in Sources */ = {isa = PBXBuildFile; fileRef = E43C72D72B0C7C3A0089E25B /* ZSActionButton.m */; };
+		E4499A822D5B4DF000653B56 /* VideoManager+ringtone.m in Sources */ = {isa = PBXBuildFile; fileRef = E4499A7F2D5B4DF000653B56 /* VideoManager+ringtone.m */; };
+		E4499A832D5B4DF000653B56 /* VideoManager+timer.m in Sources */ = {isa = PBXBuildFile; fileRef = E4499A812D5B4DF000653B56 /* VideoManager+timer.m */; };
 		E44FCB072BA1542B00C7E9CF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E44FCB032BA1542B00C7E9CF /* Main.storyboard */; };
 		E44FCB142BA15BB500C7E9CF /* View.xib in Resources */ = {isa = PBXBuildFile; fileRef = E44FCB122BA15BB400C7E9CF /* View.xib */; };
 		E459F07E2B6B3D16002571E3 /* WifiAddListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E459F0352B6B3D16002571E3 /* WifiAddListViewController.m */; };
@@ -699,8 +699,6 @@
 		E143CF1A3006F6257962D165 /* Pods-VeryFit Kids.test.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-VeryFit Kids.test.xcconfig"; path = "Pods/Target Support Files/Pods-VeryFit Kids/Pods-VeryFit Kids.test.xcconfig"; sourceTree = "<group>"; };
 		E4010C2B2BEA3C4C00C0A23F /* video_end.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = video_end.mp3; sourceTree = "<group>"; };
 		E4010C2C2BEA3C4C00C0A23F /* video_start.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = video_start.mp3; sourceTree = "<group>"; };
-		E4010C2F2BEA406F00C0A23F /* JuphoonManager+ringtone.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "JuphoonManager+ringtone.h"; sourceTree = "<group>"; };
-		E4010C302BEA406F00C0A23F /* JuphoonManager+ringtone.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "JuphoonManager+ringtone.m"; sourceTree = "<group>"; };
 		E418495F2B8C8CCA000C18DB /* SKAlarmClockTitleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKAlarmClockTitleViewController.h; sourceTree = "<group>"; };
 		E41849602B8C8CCB000C18DB /* SKAlarmClockTitleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKAlarmClockTitleViewController.m; sourceTree = "<group>"; };
 		E41ECB4C2CF95C6B00C4C36C /* SKMainViewController+location.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "SKMainViewController+location.m"; sourceTree = "<group>"; };
@@ -792,10 +790,8 @@
 		E41ECBCF2CF960DA00C4C36C /* SKBaseAccountViewController+code.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "SKBaseAccountViewController+code.m"; sourceTree = "<group>"; };
 		E41ECBD42CF968EC00C4C36C /* SKTabbarViewController+function.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "SKTabbarViewController+function.m"; sourceTree = "<group>"; };
 		E41ECBD52CF968EC00C4C36C /* SKTabbarViewController+function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SKTabbarViewController+function.h"; sourceTree = "<group>"; };
-		E420015C2BAC1FDD000D26B2 /* JuphoonManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JuphoonManager.h; sourceTree = "<group>"; };
-		E420015D2BAC1FDD000D26B2 /* JuphoonManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JuphoonManager.m; sourceTree = "<group>"; };
-		E420015F2BAC23A8000D26B2 /* JuphoonManager+timer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "JuphoonManager+timer.h"; sourceTree = "<group>"; };
-		E42001602BAC23A8000D26B2 /* JuphoonManager+timer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "JuphoonManager+timer.m"; sourceTree = "<group>"; };
+		E420015C2BAC1FDD000D26B2 /* VideoManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VideoManager.h; sourceTree = "<group>"; };
+		E420015D2BAC1FDD000D26B2 /* VideoManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VideoManager.m; sourceTree = "<group>"; };
 		E42001622BAD3202000D26B2 /* NSDate+format.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSDate+format.h"; sourceTree = "<group>"; };
 		E42001632BAD3202000D26B2 /* NSDate+format.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSDate+format.m"; sourceTree = "<group>"; };
 		E42D819B2C0577AB00398588 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/View.strings"; sourceTree = "<group>"; };
@@ -807,6 +803,10 @@
 		E437147A2B4FCC1E003CA842 /* DataManager+timer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "DataManager+timer.m"; sourceTree = "<group>"; };
 		E43C72D72B0C7C3A0089E25B /* ZSActionButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ZSActionButton.m; path = Chat/ZSActionButton.m; sourceTree = "<group>"; };
 		E43C72D82B0C7C3A0089E25B /* ZSActionButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZSActionButton.h; path = Chat/ZSActionButton.h; sourceTree = "<group>"; };
+		E4499A7E2D5B4DF000653B56 /* VideoManager+ringtone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "VideoManager+ringtone.h"; sourceTree = "<group>"; };
+		E4499A7F2D5B4DF000653B56 /* VideoManager+ringtone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "VideoManager+ringtone.m"; sourceTree = "<group>"; };
+		E4499A802D5B4DF000653B56 /* VideoManager+timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "VideoManager+timer.h"; sourceTree = "<group>"; };
+		E4499A812D5B4DF000653B56 /* VideoManager+timer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "VideoManager+timer.m"; sourceTree = "<group>"; };
 		E44FCB042BA1542B00C7E9CF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
 		E44FCB132BA15BB400C7E9CF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/View.xib; sourceTree = "<group>"; };
 		E459F0332B6B3D16002571E3 /* WifiListCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WifiListCell.h; sourceTree = "<group>"; };
@@ -2368,12 +2368,12 @@
 				E45EFDF92B1755CA001BAB84 /* DataManager+session.m */,
 				E43714792B4FCC1E003CA842 /* DataManager+timer.h */,
 				E437147A2B4FCC1E003CA842 /* DataManager+timer.m */,
-				E420015C2BAC1FDD000D26B2 /* JuphoonManager.h */,
-				E420015D2BAC1FDD000D26B2 /* JuphoonManager.m */,
-				E420015F2BAC23A8000D26B2 /* JuphoonManager+timer.h */,
-				E42001602BAC23A8000D26B2 /* JuphoonManager+timer.m */,
-				E4010C2F2BEA406F00C0A23F /* JuphoonManager+ringtone.h */,
-				E4010C302BEA406F00C0A23F /* JuphoonManager+ringtone.m */,
+				E420015C2BAC1FDD000D26B2 /* VideoManager.h */,
+				E420015D2BAC1FDD000D26B2 /* VideoManager.m */,
+				E4499A7E2D5B4DF000653B56 /* VideoManager+ringtone.h */,
+				E4499A7F2D5B4DF000653B56 /* VideoManager+ringtone.m */,
+				E4499A802D5B4DF000653B56 /* VideoManager+timer.h */,
+				E4499A812D5B4DF000653B56 /* VideoManager+timer.m */,
 			);
 			path = Data;
 			sourceTree = "<group>";
@@ -2984,7 +2984,6 @@
 				E483C5AB2B8F4F8B00EBF8AC /* UIButton+color.m in Sources */,
 				E4FE9B642AD9465100DEABCA /* libLunar.c in Sources */,
 				27ADEA5B1CBFC38B0013EADA /* RedFlowerOperateViewController.m in Sources */,
-				E4010C312BEA406F00C0A23F /* JuphoonManager+ringtone.m in Sources */,
 				E4B112372B9B269900F48C90 /* EBaseHeaderView.m in Sources */,
 				28159BFF1A3FC46C00A3E1A3 /* NSString+EAddition.m in Sources */,
 				E4CFE9DF2B355FEE008C9A81 /* SKTestData.m in Sources */,
@@ -3055,7 +3054,7 @@
 				E483C5A52B8F0D7300EBF8AC /* SKBindPhoneViewController.m in Sources */,
 				E41ECBB22CF95F2100C4C36C /* SKMineViewController.m in Sources */,
 				284A8AE51A43077D000FD64F /* NSTimer+EAddition.m in Sources */,
-				E420015E2BAC1FDD000D26B2 /* JuphoonManager.m in Sources */,
+				E420015E2BAC1FDD000D26B2 /* VideoManager.m in Sources */,
 				271CD1932004B12F0060C574 /* CustomEventViewController.m in Sources */,
 				E4B4844D2AE7CF0400A77208 /* UserDataHelper.m in Sources */,
 				E4FA8B8C2AF8C89900B984B9 /* ZSMoreBoard.m in Sources */,
@@ -3078,7 +3077,6 @@
 				E41ECBA72CF95EAF00C4C36C /* SKLoginViewController.m in Sources */,
 				E4FE9B692AD9465100DEABCA /* SSHolidayUS.m in Sources */,
 				27FFF949202845AA006C9F75 /* PushAllMessageViewController.m in Sources */,
-				E42001612BAC23A8000D26B2 /* JuphoonManager+timer.m in Sources */,
 				E459F0822B6B3D16002571E3 /* SKFlowControlViewController.m in Sources */,
 				27C621D31F3C895F00C2B7A3 /* WeatherWarnDetailViewController.m in Sources */,
 				E55F0A9F1B1055AF0093BF6B /* UIViewController+Keyboard.m in Sources */,
@@ -3092,6 +3090,7 @@
 				27FFF948202845AA006C9F75 /* PushAllMessageViewCell.m in Sources */,
 				E4E75FD62BA06FFE00236F73 /* MagicReportView.m in Sources */,
 				E4B1121F2B9B213200F48C90 /* SKRelationViewController.m in Sources */,
+				E4499A832D5B4DF000653B56 /* VideoManager+timer.m in Sources */,
 				E459F0902B6B3D16002571E3 /* SKElectricityModeViewController.m in Sources */,
 				E4B112392B9B269900F48C90 /* BaseCollectionViewCell.m in Sources */,
 				E41ECB8D2CF95DD700C4C36C /* SKChatListViewController.m in Sources */,
@@ -3161,6 +3160,7 @@
 				28159C001A3FC46C00A3E1A3 /* UIImage+EAddition.m in Sources */,
 				E4FE9B8F2AD9465100DEABCA /* PDTSimpleCalendarViewFlowLayout.m in Sources */,
 				E4FE9B8E2AD9465100DEABCA /* ASSingleWeekView.m in Sources */,
+				E4499A822D5B4DF000653B56 /* VideoManager+ringtone.m in Sources */,
 				E4B1123A2B9B269900F48C90 /* EBaseHeaderTitleView.m in Sources */,
 				2731415B1FCD3A8F004AA5F4 /* SKWatchViewController.m in Sources */,
 				E4FE9B882AD9465100DEABCA /* FMDatabaseQueue.m in Sources */,