////
|
//// EZVideoTalkViewcontroller.m
|
//// EZBAVDemo
|
////
|
//// Created by kanhaiping on 2018/6/26.
|
//// Copyright © 2018年 hikvision. All rights reserved.
|
////
|
//
|
//#import "EZVideoTalkViewcontroller.h"
|
//#import "EZVideoTalkSDK.h"
|
//#import "EZVideoTalkParam.h"
|
//#import "UIView+Toast.h"
|
//#import <AVFoundation/AVFoundation.h>
|
//#import "EZOpenSDK.h"
|
//#import "EZDeviceInfo.h"
|
//#import "GlobalKit.h"
|
//#import "EzvizWatchServerInfo.h"
|
//#import "EZTokenKit.h"
|
//
|
//@interface EZVideoTalkViewcontroller ()<EZVideoTalkSDKDelegate>
|
//@property (nonatomic, assign) BOOL bEverOpenSound;
|
//@property (nonatomic, strong) EZVideoTalkSDK *client;
|
//
|
//@property (weak, nonatomic) IBOutlet UIView *localView;
|
//@property (weak, nonatomic) IBOutlet UIView *remoteView;
|
//@property (weak, nonatomic) IBOutlet UITextField *roomIDTextField;
|
//
|
//@property (nonatomic, strong) EzvizWatchServerInfo *watchServerInfo;
|
//
|
//@end
|
//
|
//@implementation EZVideoTalkViewcontroller
|
//
|
//+ (EZVideoTalkViewcontroller *) videoTalkVC {
|
//
|
// EZVideoTalkViewcontroller *vc = [[NSBundle mainBundle] loadNibNamed:@"EZVideoTalkViewcontroller" owner:nil options:nil].firstObject;
|
// return vc;
|
//}
|
//
|
//- (void)viewDidLoad {
|
// [super viewDidLoad];
|
// // Do any additional setup after loading the view, typically from a nib.
|
// UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];
|
// if (self.view.gestureRecognizers.count <= 0) {
|
// [self.view addGestureRecognizer:gesture];
|
// }
|
//
|
// self.title = @"Video Talk";
|
//}
|
//
|
//- (void)viewWillAppear:(BOOL)animated {
|
// [super viewWillAppear:animated];
|
//
|
// [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(stopTalk) name:UIApplicationDidEnterBackgroundNotification object:nil];
|
// [self getWatchInfo];
|
//}
|
//
|
//- (void)viewWillDisappear:(BOOL)animated {
|
// [super viewWillDisappear:animated];
|
//
|
// [[NSNotificationCenter defaultCenter] removeObserver:self];
|
//
|
// if (self.client != nil) {
|
// [self stopTalk];
|
// }
|
//}
|
//
|
//- (void)didReceiveMemoryWarning {
|
// [super didReceiveMemoryWarning];
|
// // Dispose of any resources that can be recreated.
|
//}
|
//
|
//
|
//#pragma mark Actions
|
//
|
//- (IBAction)createRoomAction:(id)sender {
|
//
|
// [self startTalkWithRoomID:0];
|
//}
|
//
|
//- (IBAction)enterRoomAction:(id)sender {
|
//
|
// if (self.roomIDTextField.text.length <= 0 || [self.roomIDTextField.text integerValue] <= 0) {
|
// [self showMessage:@"请输入正确的房间号"];
|
// return;
|
// }
|
//
|
// [self startTalkWithRoomID:(int32_t)[self.roomIDTextField.text integerValue]];
|
//
|
// [self showMessage:@"加入房间"];
|
//}
|
//
|
//- (IBAction)leaveRoomAction:(id)sender {
|
//
|
// [self stopTalk];
|
//
|
// [self showMessage:@"已离开房间"];
|
//}
|
//
|
//- (void)tapAction:(id)sender {
|
//
|
// [self.roomIDTextField resignFirstResponder];
|
//}
|
//
|
//#pragma mark Helper
|
//
|
//- (void)showMessage:(NSString *)message
|
//{
|
// [self.view makeToast:message duration:2.0 position:CSToastPositionCenter];
|
//}
|
//
|
//#pragma mark BAV API
|
//
|
//- (void)getWatchInfo {
|
//
|
// __weak typeof(self) weakSelf = self;
|
// [EZOpenSDK requestGetWatchServerInfo:self.deviceInfo.deviceSerial completion:^(id watchServerInfo, NSError *error) {
|
//
|
// weakSelf.watchServerInfo = watchServerInfo;
|
// }];
|
//}
|
//
|
//- (void)startTalkWithRoomID:(int32_t)roomID
|
//{
|
// if (self.client != nil) {
|
// [self.client stop];
|
// self.client = nil;
|
// }
|
//
|
// EZVideoTalkParam *param = [EZVideoTalkParam new];
|
// param.iCltRole = roomID > 0 ? 1 : 0;
|
// param.iCltType = 1;
|
// param.iOtherCltType = 1;
|
//// param.iReason = 101;
|
// param.iStsPort = self.watchServerInfo.port;
|
// param.iRoomId = roomID > 0 ? roomID : 0;
|
// param.szOterId = self.deviceInfo.deviceSerial;
|
// param.szSelfId = @"1234567891";
|
// param.szAuthToken = [EZTokenKit sharedKit].token;
|
// param.szStsAddr = self.watchServerInfo.domain;
|
//
|
// [EZVideoTalkSDK setDebugVideoLog:YES];
|
// [EZVideoTalkSDK setDebugLogEnable:YES withLogCallback:^(NSString *logStr) {
|
// NSLog(@"%@", logStr);
|
// }];
|
//
|
// _client = [[EZVideoTalkSDK alloc] initWithParam:param localWindow:self.localView remoteWindow:self.remoteView];
|
// _client.delegate = self;
|
//
|
// // [_client startWithType:EZVideoTalkCaptureVideo | EZVideoTalkCaptureAudio];
|
// [_client startWithType:EZVideoTalkCaptureAudio];
|
//}
|
//
|
//- (void)stopTalk
|
//{
|
// [self.client stop];
|
// self.client = nil;
|
//}
|
//
|
//#pragma mark EZVideoTalkSDKDelegate
|
//
|
//- (void)videoTalk:(EZVideoTalkSDK *)client didReceivedError:(int32_t)errorCode
|
//{
|
// NSLog(@"%s recived errorcode:%d", __func__, errorCode);
|
//
|
// dispatch_async(dispatch_get_main_queue(), ^{
|
// [self showMessage:[NSString stringWithFormat:@"BAVClient Error:%d",errorCode]];
|
// });
|
//
|
// [self stopTalk];
|
//}
|
//
|
//- (void)videoTalk:(EZVideoTalkSDK *)client didReceivedMessage:(EZVideoTalkMessageType)messageCode msg:(NSString *)msg
|
//{
|
// NSLog(@"%s recived messagecode:%lu ,msg:%@", __func__, (unsigned long)messageCode, msg);
|
//
|
// dispatch_async(dispatch_get_main_queue(), ^{
|
//
|
// if (messageCode == EZVideoTalkMessageRoomCreated) {
|
//
|
// [self showMessage:[NSString stringWithFormat:@"已创建房间:%d", self.client.roomID]];
|
// self.roomIDTextField.text = [NSString stringWithFormat:@"%d", self.client.roomID];
|
// }
|
// else if (messageCode == EZVideoTalkMessageStartInputData) {
|
//
|
// [self showMessage:[NSString stringWithFormat:@"开始推流"]];
|
// }
|
// });
|
//}
|
//
|
//- (void)videoTalk:(EZVideoTalkSDK *)client didReceivedBavClientLogMsg:(NSString *)msg {
|
//
|
// NSLog(@"%s recived msg:%@", __func__, msg);
|
//}
|
//
|
//- (void)videoTalk:(EZVideoTalkSDK *)client playDelayTime:(int32_t)delayTime {
|
//
|
// NSLog(@"%s delayTime:%d", __func__, delayTime);
|
//
|
// dispatch_async(dispatch_get_main_queue(), ^{
|
// [self showMessage:[NSString stringWithFormat:@"播放卡顿-delayTime:%d", delayTime]];
|
// });
|
//}
|
//
|
//- (void)videoTalk:(EZVideoTalkSDK *)client playDelayTimeStatistics:(double)delayTimeStat {
|
//
|
// NSLog(@"%s delayTimeStat:%f", __func__, delayTimeStat);
|
//}
|
//
|
//- (void)videoTalk:(EZVideoTalkSDK *)client didDisplayWidth:(int32_t)width height:(int32_t)height {
|
//
|
// NSLog(@"%s", __func__);
|
// if (!self.bEverOpenSound) {
|
// self.bEverOpenSound = YES;
|
// [self.client openSound:YES];
|
// }
|
//}
|
//
|
//
|
//
|
//@end
|