LFLiveKit-ReplayKit录屏没有声音

Super_DL_csdn 2020-08-27 02:17:56
iOS用LFLiveKit-ReplayKit录屏幕的时候,当音频质量选择LFLiveAudioQuality_Low就会提示AudioCodecInitialize failed,推流上去的视频就没有声音,用LFLiveAudioQuality_Medium以上就全是杂音,又遇到这种情况的吗?

推流的主机用的是ffmpeg的ffplay和Nginx的rtmp模式

协议用的是rtmp。

推流的内容用的是Video和Audio。

下面是session的设置。

- (LFLiveSession *)session {
if (_session == nil) {

LFLiveAudioConfiguration *audioConfiguration = [LFLiveAudioConfiguration defaultConfigurationForQuality:LFLiveAudioQuality_Low];
audioConfiguration.numberOfChannels = 1;
LFLiveVideoConfiguration *videoConfiguration;

videoConfiguration = [LFLiveVideoConfiguration defaultConfigurationForQuality:(_frameQuality==0)?LFLiveVideoQuality_High2:(_frameQuality==1)?LFLiveVideoQuality_Medium2:LFLiveVideoQuality_Low2 outputImageOrientation:UIInterfaceOrientationLandscapeRight];

videoConfiguration.autorotate = YES;

_session = [[LFLiveSession alloc] initWithAudioConfiguration:audioConfiguration videoConfiguration:videoConfiguration captureType:_mic?LFLiveInputMaskAll:LFLiveInputMaskVideo];

_session.delegate = self;
_session.showDebugInfo = YES;

}
return _session;
}


下面是推流调用的部分

[_recorder startCaptureWithHandler:^(CMSampleBufferRef _Nonnull sampleBuffer, RPSampleBufferType bufferType, NSError * _Nullable error) {
if (error==nil) {
switch (bufferType) {
case RPSampleBufferTypeVideo: {
// NSLog(@"视频的内容");
[self.tool sendVideoBuffer:sampleBuffer];

}
break;
case RPSampleBufferTypeAudioApp: {
// NSLog(@"App的音效");
[self.tool sendAudioBuffer:sampleBuffer];
}
break;
case RPSampleBufferTypeAudioMic: {
NSLog(@"麦克风的音效");
// [self.tool sendAudioBuffer:sampleBuffer];
}
break;

default:
break;
}
}
} completionHandler:^(NSError * _Nullable error) {
if (error!=nil) {
NSLog(@"error = %@",[error description]);
}
}];
...全文
826 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
依然1234 2022-04-12
  • 打赏
  • 举报
回复

遇到了同样的问题,请问大佬解决了吗?

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧