FCameraCapturerConfiguration
- Unreal Blueprint
更新时间不可用
摄像头采集配置。
USTRUCT(BlueprintType)
struct FCameraCapturerConfiguration
{
GENERATED_BODY()
public:
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration")
ECAMERA_DIRECTION cameraDirection = ECAMERA_DIRECTION::CAMERA_FRONT;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration")
ECAMERA_FOCAL_LENGTH_TYPE cameraFocalLengthType = ECAMERA_FOCAL_LENGTH_TYPE::CAMERA_FOCAL_LENGTH_DEFAULT;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration")
bool deviceId_SetValue = false;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration")
FString deviceId = "";
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration")
bool cameraId_SetValue = false;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration")
FString cameraId = "";
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration")
FVideoFormat format = FVideoFormat();
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions")
EAgoraOptional followEncodeDimensionRatio = EAgoraOptional::AGORA_NULL_VALUE;
FCameraCapturerConfiguration(){}
FCameraCapturerConfiguration(const agora::rtc::CameraCapturerConfiguration & AgoraData){
#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
cameraDirection = static_cast<ECAMERA_DIRECTION>(AgoraData.cameraDirection.value());
cameraFocalLengthType = static_cast<ECAMERA_FOCAL_LENGTH_TYPE>(AgoraData.cameraFocalLengthType.value());
#else
SET_UEBP_OPTIONAL_VAL_FString(this->deviceId, AgoraData.deviceId);
#endif
#if defined(__ANDROID__)
cameraId = UTF8_TO_TCHAR(AgoraData.cameraId.value());
#endif
format = FVideoFormat(AgoraData.format);
SET_UEBP_OPTIONAL_VAL_BOOL( followEncodeDimensionRatio ,AgoraData.followEncodeDimensionRatio)
}
agora::rtc::CameraCapturerConfiguration CreateAgoraData() const {
agora::rtc::CameraCapturerConfiguration AgoraData;
#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
AgoraData.cameraDirection = static_cast<agora::rtc::CAMERA_DIRECTION>(cameraDirection);
AgoraData.cameraFocalLengthType = static_cast<agora::rtc::CAMERA_FOCAL_LENGTH_TYPE>(cameraFocalLengthType);
#else
SET_AGORA_OPTIONAL_VAL_CHARPTR______MEMOALLOC(AgoraData.deviceId, this->deviceId)
#endif
#if defined(__ANDROID__)
SET_AGORA_OPTIONAL_VAL_CHARPTR______MEMOALLOC(
AgoraData.cameraId,this->cameraId)
#endif
AgoraData.format = format.CreateAgoraData();
SET_AGORA_OPTIONAL_VAL_BOOL(AgoraData.followEncodeDimensionRatio, this->followEncodeDimensionRatio)
return AgoraData;
}
void FreeAgoraData(agora::rtc::CameraCapturerConfiguration& AgoraData) const {
format.FreeAgoraData(AgoraData.format);
#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
#else
SET_AGORA_OPTIONAL_VAL_CHARPTR______MEMOFREE(AgoraData.deviceId)
#endif
#if defined(__ANDROID__)
SET_AGORA_OPTIONAL_VAL_CHARPTR______MEMOFREE(AgoraData.cameraId)
#endif
}
};属性
| 参数名 | 描述 |
|---|---|
cameraDirection | |
cameraId | (可选)摄像头 ID。默认为前置摄像头对应的摄像头 ID。你可以通过 Android 原生系统 API 获取摄像头 ID,详见 Camera.open() 和 CameraManager.getCameraIdList()。 注意:
|
cameraFocalLengthType | (可选)摄像头的焦距类型。详见 ECAMERA_FOCAL_LENGTH_TYPE。 注意:
|
format | (可选)视频帧格式。详见 FVideoFormat。 |
deviceId | |
followEncodeDimensionRatio | (可选)是否跟随 SetVideoEncoderConfiguration 中设置的视频宽高比:
|