本人视频流画面
本文介绍连麦中与本人视频流画面相关的操作以及对应的消息通知。
说明
开关摄像头操作之后,会有消息通知连麦中的全部成员(包括自己),相关消息通知请看开关摄像头相关消息通知示例。
本文包括了摄像头视频流的基础操作,更详细的设置请看摄像头视频流。
开关摄像头API使用示例
iOS端(Objective-C):
// 打开/关闭本地摄像头
id<AIRBRoomChannelProtocol> room = [[AIRBRoomEngine sharedInstance] getRoomChannelWithRoomID:@"xxx"]
[room.rtc muteLocalCamera:mute onSuccess:^{
} onFailure:^(NSString * _Nonnull errorMessage) {
}];
Android端(Java):
// 打开/关闭本地摄像头
rtcService.muteLocalCamera(true);
/**
* 关闭摄像头,成功返回true
*
* @param muteLocalCamera 返回0为切换成功
*/
void muteLocalCamera(boolean muteLocalCamera);
Windows端(c++):
auto room_ptr = alibaba::meta_space::MetaSpace::GetInstance()->GetRoomInstance(room_id);
auto rtc_plugin = std::dynamic_pointer_cast<IRtc>(room_ptr->GetPlugin(PluginRtc));
bool mute = true;
alibaba::meta::AliRtcVideoTrack track = alibaba::meta::AliRtcVideoTrack::ALI_RTC_VIDEO_TRACK_CAMERA;
rtc_plugin->MuteLocalCamera(mute, track);
切换摄像头API使用示例
iOS端(Objective-C):
// 切换前后摄像头
id<AIRBRoomChannelProtocol> room = [[AIRBRoomEngine sharedInstance] getRoomChannelWithRoomID:@"xxx"]
[room.rtc toggleLocalCamera];
Android端(Java):
// 切换前后摄像头
rtcService.switchCamera();
/**
* 切换摄像头
*
* @return 是够切换成功
*/
// boolean switchCamera();
Windows端(c++):
auto room_ptr = alibaba::meta_space::MetaSpace::GetInstance()->GetRoomInstance(room_id);
auto rtc_plugin = std::dynamic_pointer_cast<IRtc>(room_ptr->GetPlugin(PluginRtc));
//枚举摄像头设备
std::vector<meta::RtcDeviceInfo> vec_camera_info = rtc_plugin->GetVideoCaptureList();
std::string device_name = vec_camera_info[0].device_name;
//指定目标摄像头
rtc_plugin->SetCurrentVideoCaptureMame(device_name);
镜像摄像头API使用示例
iOS端(Objective-C):
// 打开/关闭摄像头本地预览镜像,默认为打开,仅对前置摄像头生效
id<AIRBRoomChannelProtocol> room = [[AIRBRoomEngine sharedInstance] getRoomChannelWithRoomID:@"xxx"]
room.rtc.previewMirrorEnabled = (BOOL)enabled;
// 打开/关闭摄像头视频流画面镜像,默认为关闭,仅对前置摄像头视频画面生效
id<AIRBRoomChannelProtocol> room = [[AIRBRoomEngine sharedInstance] getRoomChannelWithRoomID:@"xxx"]
room.rtc.videoStreamMirrorEnabled = (BOOL)enabled;
Android端(Java):
// 打开/关闭摄像头本地预览镜像,默认为打开,仅对前置摄像头生效
rtcService.setPreviewMirror(previewMirror);
/**
* 是否开启本地预览镜像,默认为是
* 仅对前置摄像头画面生效
*
* @param enable true时打开
*/
// void setPreviewMirror(boolean enable);
// 打开/关闭摄像头视频流画面镜像,默认为关闭,仅对前置摄像头视频画面生效
rtcService.setVideoStreamMirror(previewMirror);
/**
* 是否开启视频流镜像,默认为否
* 仅对前置摄像头画面生效
*
* @param enable true时打开
*/
// void setVideoStreamMirror(boolean enable);