// // EZMediaSession.h // H264 Encode and Decode // // Created by kanhaiping on 2018/6/21. // Copyright © 2018年 AJB. All rights reserved. // #import #import "EZMediaSessionDefines.h" @class UIImage; @class EZMediaSession; @class EZMediaSessionVideoParam; @protocol EZMediaSessionDelegate - (void)mediaSession:(EZMediaSession *)session didReceivedEncodedData:(NSData *)mediaData pts:(int64_t)ptsInMS type:(EZMediaCaptureSessionType)type; - (void)mediaSession:(EZMediaSession *)session didReceivedError:(NSInteger)error; @end @interface EZMediaSession : NSObject @property (nonatomic, weak) id displayLayer;//可选的预览视图,请传入AVSampleBufferDisplayLayer @property (nonatomic, assign, readonly) BOOL isAudioEnabled; - (instancetype)initWithVideoParam:(EZMediaSessionVideoParam *)videoParam delegate:(id)delegate; - (NSInteger)enableVideoCapture:(BOOL)enable; - (NSInteger)enableAudioCatpure:(BOOL)enable; - (NSInteger)enableThumbnailCatpure:(BOOL)enable; - (NSInteger)enableScreenShareCapture:(BOOL)enable; - (void)selectBackCamera:(BOOL)backCameraSelected; - (NSInteger)startEncoding; - (NSInteger)setMaxBPS:(int)maxBPS; - (void)forceNextKeyFrame; - (NSInteger)stop; - (void)localScreenShotWithBlock:(void (^)(UIImage *image))block; - (BOOL) startLocalRecord:(NSString*)path; - (BOOL) stopLocalRecord; @end