ios录屏直播


#1

1.调用这两个api,打开外部音视频源push,[self.rtcEngine enableExternalAudioSourceWithSampleRate:44810 channelsPerFrame:1];
[self.rtcEngine setExternalVideoSource:YES useTexture:YES pushMode:YES];
调用[self.rtcEngine pushExternalVideoFrame:videoFrame];
[self.rtcEngine pushExternalAudioFrameSampleBuffer:buffer];
来进行push流,没有生效,
抓取的是[[RPScreenRecorder sharedRecorder]startCaptureWithHandler:^(CMSampleBufferRef _Nonnull sampleBuffer, RPSampleBufferType bufferType, NSError * _Nullable error)
{
__block CMSampleBufferRef buffer = sampleBuffer;
dispatch_sync(dispatch_get_main_queue(), ^{
NSLog(@“录制开始。。。。%li”,(long)bufferType);
switch (bufferType)

{ case RPSampleBufferTypeVideo: // Handle video sample buffer [weakSelf pushVideo:buffer]; break; case RPSampleBufferTypeAudioApp: // Handle audio sample buffer for app audio [weakSelf pushAudio:buffer]; break; case RPSampleBufferTypeAudioMic: // Handle audio sample buffer for mic audio [weakSelf pushMicAudio:buffer]; break; default: break; }

});
}
屏幕录制的数据,没有反应,是否使用外部视频源与音频源,不需要开启本地音视频功能。
2.另外github上下载的demo,不可以使用OpenLive-iOS-Objective-C,这个项目中,一端创建房间来直播,另外一端加入看不到直播内容,都是报错,Validate program 28: Validation Failed: Current draw framebuffer is invalid.


#2

hi
1、看你发的代码,使用的音频自采集+视频自采集方法,这样子就不再需要SDK采集了哦,即:使用外部视频源与音频源,不需要开启本地音视频功能。

你需要实现的是什么功能呢?屏幕共享吗?如果是的话,可以参照咱们的屏幕共享demo:IOS端屏幕共享demo

2、你那边是不是用了模拟器呢?不支持模拟器的哈。


#3

我这里用的不是模拟器,另外这个demo有OC版本的吗?另外运行这个demo,直播时默认的channelname是什么?


#4

你下载的那个不就是OC版本的吗。。https://github.com/AgoraIO/Basic-Video-Call/tree/master/Group-Video/OpenVideoCall-iOS-Objective-C
你说的是channelId吧,自己设置就ok了,建议设置为int型


#5

我是说屏幕共享的demo有没有OC版本,


#6

屏幕共享的DEMO直播时,没有设置channelname的地方,所以我想请问默认的channelname是什么


#7

没有OC版本。

关于该demo的channelname:


#8

你好,照着你说的操作,但是看不到直播的画面,我用的是最新的iOS SDK 2.4.0,是我哪里还需要设置一下吗?操作视频如下 链接: https://pan.baidu.com/s/11tFXpK31AyORG2R0NXiO-g 提取码: bhpb 复制这段内容后打开百度网盘手机App,操作更方便哦


#9

这个设置了么:
Agora Video SDK for iOS 在 2.4.0 版本新增了 CoreML.framework 库依赖。请确保在集成时添加该库,详见集成客户端


#10

设置了,屏幕分享是下载的你们的DEMO,已经有了,还是不管用,我觉得是不是APPID的问题啊,APPID是不是必须开启证书验证,是不是必须获取token,才可以正常使用


#11

双端用同一个appid就可以了。appid不一定需要开启certificate的,如果没开,传appid即可;如果开了,需要传token。


#12

我现在最基础的那个DEMO,也没有通,就是下载的那个OC的版本,设置的APPID,xxxxx,用的是这个


#13

和SDK版本有关系吗


#14

OK,已经好了,谢谢


#15

好的


#16

你好,你好,我想知道,两端进行屏幕共享时,共享端如何设置才能收到另一个直播端的声音,现在如果一端开启屏幕共享的话,就无法接受到别的直播端的声音了


#17

#18

不行啊,image 我注释了,还是不管用,接受不到音频