录屏直播
#import "VHLivePublisher.h"
开始直播
/**
* 开始录屏直播推流 注意必须是 iOS 12及以上系统使用
* @param roomID 房间ID
* @param accessToken accessToken
* @param extension extension App bundleID
*/
- (BOOL)startPublish:(NSString*)roomID accessToken:(NSString*)accessToken extension:(NSString*)extension;
停止直播
/**
* 停止推流
*/
- (BOOL)stopPublish;
步骤
步骤:
步骤一
设置groupid
[VHLiveBase setAppGroup:@"xxxx"];
步骤二
在需要录屏功能App工程中 添加target
在子app中引入 VHScreenShareService 中的库文件, 设置正确库文件路径
在SampleHandler.m 后缀修改为 SampleHandler.mm SampleHandler.mm中内容直接使用以下内容覆盖
#import "SampleHandler.h"
#import "VHScreenShareService.h"
@interface SampleHandler()<VHScreenShareServiceDelegate>
@property (nonatomic,strong)VHScreenShareService *screenShareService;
@end
@implementation SampleHandler
- (instancetype)init
{
self = [super init];
if(self)
{
self.screenShareService = [[VHScreenShareService alloc]initWithAppGroup:@"group.com.vhall.BroadcastNew.group"];
self.screenShareService.delegate = self;
}
return self;
}
- (void)dealloc
{
self.screenShareService = nil;
}
- (void)broadcastStartedWithSetupInfo:(NSDictionary<NSString *,NSObject *> *)setupInfo {
// User has requested to start the broadcast. Setup info from the UI extension can be supplied but optional.
[self.screenShareService broadcastStartedWithSetupInfo:setupInfo];
}
- (void)broadcastPaused {
// User has requested to pause the broadcast. Samples will stop being delivered.
[self.screenShareService broadcastPaused];
}
- (void)broadcastResumed {
// User has requested to resume the broadcast. Samples delivery will resume.
[self.screenShareService broadcastResumed];
}
- (void)broadcastFinished {
// User has requested to finish the broadcast.
[self.screenShareService broadcastFinished];
}
- (void)processSampleBuffer:(CMSampleBufferRef)sampleBuffer withType:(RPSampleBufferType)sampleBufferType {
[self.screenShareService processSampleBuffer:sampleBuffer withType:sampleBufferType];
}
- (void)VHScreenShareServiceFinishBroadcastWithError:(NSError *)error
{
[self finishBroadcastWithError:error];
}
@end