相机功能

2022-08-23
暂无评分

PSDK 相机相关功能的头文件为psdk_payload_camera.h,本文档描述了psdk_payload_camera.h 文件中结构体和函数原型的关键信息和使用方法。

枚举

typedef enum E_PsdkCameraMode

相机类负载设备的模式

typedef enum {
    PSDK_CAMERA_MODE_SHOOT_PHOTO = 0,         拍照模式 
    PSDK_CAMERA_MODE_RECORD_VIDEO = 1,        录像模式 
    PSDK_CAMERA_MODE_PLAYBACK = 2,            媒体文件回放模式 
} E_PsdkCameraMode;

typedef enum E_PsdkCameraShootPhotoMode

相机类负载设备的拍照模式

typedef enum {
    PSDK_CAMERA_SHOOT_PHOTO_MODE_SINGLE = 1,        单拍模式 
    PSDK_CAMERA_SHOOT_PHOTO_MODE_BURST = 4,         连拍模式 
    PSDK_CAMERA_SHOOT_PHOTO_MODE_INTERVAL = 6,      定时拍照模式 
} E_PsdkCameraShootPhotoMode;

typedef enum E_PsdkCameraShootingState

相机类负载设备拍照时的状态

typedef enum {
    PSDK_CAMERA_SHOOTING_PHOTO_IDLE = 0,        相机为空闲状态
    PSDK_CAMERA_SHOOTING_SINGLE_PHOTO = 1,      相机正处于单拍状态
    PSDK_CAMERA_SHOOTING_BURST_PHOTO = 2,       相机正处于连拍状态
    PSDK_CAMERA_SHOOTING_INTERVAL_PHOTO = 6,    相机正处于定时拍照状态
} E_PsdkCameraShootingState;

typedef enum E_PsdkCameraBurstCount

相机类负载设备的单拍张数

typedef enum {
    PSDK_CAMERA_BURST_COUNT_2 = 2,       连拍张数:2 
    PSDK_CAMERA_BURST_COUNT_3 = 3,       连拍张数:3 
    PSDK_CAMERA_BURST_COUNT_5 = 5,       连拍张数:5 
    PSDK_CAMERA_BURST_COUNT_7 = 7,       连拍张数:7 
    PSDK_CAMERA_BURST_COUNT_10 = 10,     连拍张数:10 
    PSDK_CAMERA_BURST_COUNT_14 = 14,     连拍张数:14 
} E_PsdkCameraBurstCount;

typedef enum E_PsdkCameraMeteringMode

相机类负载设备的测光模式

typedef enum {
    PSDK_CAMERA_METERING_MODE_CENTER = 0,     中央重点测光模式 
    PSDK_CAMERA_METERING_MODE_AVERAGE = 1,    平均测光模式 
    PSDK_CAMERA_METERING_MODE_SPOT = 2,       点测光模式 
} E_PsdkCameraMeteringMode;

typedef enum E_PsdkCameraFocusMode

相机类负载设备的对焦模式

typedef enum {
    PSDK_CAMERA_FOCUS_MODE_MANUAL = 0,     手动对焦模式 
    PSDK_CAMERA_FOCUS_MODE_AUTO = 1,       自动对焦模式 
} E_PsdkCameraFocusMode;

typedef enum E_PsdkCameraZoomDirection

相机类负载设备变焦的方向

typedef enum {
    PSDK_CAMERA_ZOOM_DIRECTION_OUT = 0,     向远处变焦(变焦倍数小,图像缩小)
    PSDK_CAMERA_ZOOM_DIRECTION_IN = 1,      向近处变焦(变焦倍数变大,图像放大)
} E_PsdkCameraZoomDirection;

typedef enum E_PsdkCameraZoomSpeed

相机类负载设备的变焦速度

typedef enum {
    PSDK_CAMERA_ZOOM_SPEED_SLOWEST = 72,             镜头变焦速度缓慢 
    PSDK_CAMERA_ZOOM_SPEED_SLOW = 73,                镜头变焦速度较慢 
    PSDK_CAMERA_ZOOM_SPEED_MODERATELY_SLOW = 74,     镜头变焦速度慢 
    PSDK_CAMERA_ZOOM_SPEED_NORMAL = 75,              镜头变焦速度一般 
    PSDK_CAMERA_ZOOM_SPEED_MODERATELY_FAST = 76,     镜头变焦速度快 
    PSDK_CAMERA_ZOOM_SPEED_FAST = 77,                镜头变焦速度较快 
    PSDK_CAMERA_ZOOM_SPEED_FASTEST = 78,             镜头变焦速度很快 
} E_PsdkCameraZoomSpeed;

typedef enum E_PsdkCameraMediaFileType

媒体文件的类型

typedef enum {
    PSDK_CAMERA_FILE_TYPE_JPEG = 0,      JPEG 
    PSDK_CAMERA_FILE_TYPE_DNG = 1,       DNG 
    PSDK_CAMERA_FILE_TYPE_MOV = 2,       MOV 
    PSDK_CAMERA_FILE_TYPE_MP4 = 3,       MP4 
} E_PsdkCameraMediaFileType;

typedef enum E_PsdkCameraPlaybackMode

相机类负载设备的回放时的回放模式

typedef enum {
    PSDK_CAMERA_PLAYBACK_MODE_PLAY = 2,       回放中模式 
    PSDK_CAMERA_PLAYBACK_MODE_PAUSE = 3,      回放暂停模式 
    PSDK_CAMERA_PLAYBACK_MODE_STOP = 7,       停止回放模式
} E_PsdkCameraPlaybackMode;

typedef enum E_PsdkCameraVideoFrameRate

相机类负载设备执行视频回放时支持的视频帧率

typedef enum {
    PSDK_CAMERA_VIDEO_FRAME_RATE_8_DOT_8_FPS = 23,         8.8帧每秒  
    PSDK_CAMERA_VIDEO_FRAME_RATE_23_DOT_976_FPS = 1,       23.96帧每秒  
    PSDK_CAMERA_VIDEO_FRAME_RATE_24_FPS = 13,              24帧每秒  
    PSDK_CAMERA_VIDEO_FRAME_RATE_25_FPS = 2,               25帧每秒 
    PSDK_CAMERA_VIDEO_FRAME_RATE_29_DOT_970_FPS = 3,       29.97帧每秒 
    PSDK_CAMERA_VIDEO_FRAME_RATE_30_FPS = 14,              30帧每秒 
    PSDK_CAMERA_VIDEO_FRAME_RATE_47_DOT_950_FPS = 4,       47.95帧每秒 
    PSDK_CAMERA_VIDEO_FRAME_RATE_48_FPS = 15,              48帧每秒 
    PSDK_CAMERA_VIDEO_FRAME_RATE_50_FPS = 5,               50帧每秒 
    PSDK_CAMERA_VIDEO_FRAME_RATE_59_DOT_940_FPS = 6,       59.94帧每秒 
    PSDK_CAMERA_VIDEO_FRAME_RATE_60_FPS = 16,              60帧每秒 
    PSDK_CAMERA_VIDEO_FRAME_RATE_90_FPS = 17,              90帧每秒 
    PSDK_CAMERA_VIDEO_FRAME_RATE_96_FPS = 11,              96帧每秒 
    PSDK_CAMERA_VIDEO_FRAME_RATE_100_FPS = 10,             100帧每秒 
    PSDK_CAMERA_VIDEO_FRAME_RATE_120_FPS = 7,              120帧每秒 
    PSDK_CAMERA_VIDEO_FRAME_RATE_UNKNOWN = 0,              视频帧率未知 
} E_PsdkCameraVideoFrameRate;

typedef enum E_PsdkCameraVideoResolution

相机类负载设备执行视频回放时支持的分辨率

typedef enum {
    PSDK_CAMERA_VIDEO_RESOLUTION_336x256 = 38,         336x256 
    PSDK_CAMERA_VIDEO_RESOLUTION_640x360 = 46,         640x360 
    PSDK_CAMERA_VIDEO_RESOLUTION_640x480 = 0,          640x480 
    PSDK_CAMERA_VIDEO_RESOLUTION_640x512 = 26,         640x512 
    PSDK_CAMERA_VIDEO_RESOLUTION_1280x720 = 4,         1280x720 
    PSDK_CAMERA_VIDEO_RESOLUTION_1920x1080 = 10,       1920x1080 
    PSDK_CAMERA_VIDEO_RESOLUTION_2048x1080 = 37,       2048x1080 
    PSDK_CAMERA_VIDEO_RESOLUTION_2688x1512 = 45,       2688x1512 
    PSDK_CAMERA_VIDEO_RESOLUTION_2704x1520 = 24,       2704x1520 
    PSDK_CAMERA_VIDEO_RESOLUTION_2720x1530 = 42,       2720x1530 
    PSDK_CAMERA_VIDEO_RESOLUTION_3840x1572 = 34,       3840x1572 
    PSDK_CAMERA_VIDEO_RESOLUTION_3840x2160 = 41,       3840x2160 
    PSDK_CAMERA_VIDEO_RESOLUTION_4096x2160 = 22,       4096x2160 
    PSDK_CAMERA_VIDEO_RESOLUTION_4608x2160 = 27,       4608x2160 
    PSDK_CAMERA_VIDEO_RESOLUTION_4608x2592 = 28,       4608x2592 
    PSDK_CAMERA_VIDEO_RESOLUTION_5280x2160 = 32,       5280x2160 
    PSDK_CAMERA_VIDEO_RESOLUTION_5280x2972 = 33,       5280x2972 
    PSDK_CAMERA_VIDEO_RESOLUTION_5760X3240 = 35,       5760X3240 
    PSDK_CAMERA_VIDEO_RESOLUTION_6016X3200 = 36,       6016X3200 
    PSDK_CAMERA_VIDEO_RESOLUTION_UNKNOWN = 255,        相机支持的视频分辨率未知 
} E_PsdkCameraVideoResolution;

typedef enum E_PsdkCameraTapZoomState

相机类负载设备指点变焦功能的状态

typedef enum {
    PSDK_CAMERA_TAP_ZOOM_STATE_IDLE = 0,          未执行指点变焦功能 
    PSDK_CAMERA_TAP_ZOOM_STATE_ZOOM_IN = 1,       焦距变短,变焦倍数变大,图像被放大 
    PSDK_CAMERA_TAP_ZOOM_STATE_ZOOM_OUT = 2,      焦距变长,变焦倍数变小,图像被缩小 
    PSDK_CAMERA_TAP_ZOOM_STATE_ZOOM_LIMITED = 3,  已到达变焦限制 
} E_PsdkCameraTapZoomState;

typedef enum E_PsdkCameraVideoStreamType

相机类负载设备视频流格式

typedef enum {
    PSDK_CAMERA_VIDEO_STREAM_TYPE_H264_CUSTOM_FORMAT = 0,   相机视频流按照自定义H264格式, 需要符合用户文档中Custom-H264视频流格式标准
                                                            使用该格式发送视频流时, 视频流的码率不能超过实时的通道带宽限制
                                                            可以通过PsdkPayloadCamera_GetVideoStreamState接口获取实时通道带宽限制
    PSDK_CAMERA_VIDEO_STREAM_TYPE_H264_DJI_FORMAT = 1,      相机视频流按照DJI-H264格式, 需要符合用户文档中DJI-H264视频流格式标准
                                                            使用该格式发送视频流时, 视频流将会被飞机重编码, 不需要动态调节码率来
                                                            保证传输可靠性, 视频流码率不能超过8Mbps
} E_PsdkCameraVideoStreamType;

结构体

typedef struct T_PsdkCameraSDCardState

相机类负载设备中SD 卡的状态

typedef struct {
    bool isInserted;       相机类负载设备中是否已插入SD 卡
    bool isVerified;       相机类负载设备中的SD 卡是否被认证
    bool isInitializing;   相机类负载设备中SD 卡是否已初始化
    bool isReadOnly;       相机类负载设备中的SD 卡是否处于只读模式
    bool isFormatting;     相机类负载设备中的SD 卡正在格式化  
    bool isFull;           相机类负载设备中的SD 卡内存已漫 
    bool isInvalidFormat;  相机类负载设备中的SD 卡已格式化 
    bool hasError;         相机类负载设备中的SD 卡出现错误 
    uint32_t totalSpaceInMB;       相机类负载设备中SD 卡的总容量,单位:MB 
    uint32_t remainSpaceInMB;      相机类负载设备中SD 卡的剩余容量,单位:MB 
    uint32_t availableCaptureCount;            当前相机类负载设备中SD 卡可存储的相片数量 
    uint32_t availableRecordingTimeInSeconds;  当前相机类负载设备中SD 卡可存储视频的长度,单位:s 
} T_PsdkCameraSDCardState;

typedef struct T_PsdkCameraPhotoTimeIntervalSettings

在定时拍照模式下设置相机类负载设备拍照的时间间隔

typedef struct {
    uint8_t captureCount;               设置相机类负载设备在定时拍照模式下拍摄照片的张数 
    uint16_t timeIntervalSeconds;       设置相机类负载设备在定时拍照模式下拍摄照片的时间间隔 单位:s
} T_PsdkCameraPhotoTimeIntervalSettings;

typedef struct T_PsdkCameraSpotMeteringTarget

指定相机类负载设备在点测光模式下的对象

typedef struct {
    uint8_t col;       指定测光对象所在的列,取值范围为011 
    uint8_t row;       指定测光对象所在的行,取值范围为07 
} T_PsdkCameraSpotMeteringTarget;

typedef struct T_PsdkCameraSystemState

相机类负载设备的状态

typedef struct {
    E_PsdkCameraMode cameraMode;                   相机类负载设备当前的模式,详情请参见:E_PsdkCameraMode 
    E_PsdkCameraShootingState shootingState;       相机类负载设备当前拍照的模式,详情请参见:E_PsdkCameraShootingState 
    bool isStoring;                     相机类负载设备是否正在存储媒体文件 
    bool isShootingIntervalStart;       相机类负载设备是否正在定时拍照 
    uint16_t currentPhotoShootingIntervalTimeInSeconds;       指定相机类负载设备定时拍照倒计时,当该该数值递减为0 时将触发相机拍照,单位:s 
    uint16_t currentPhotoShootingIntervalCount;       指定相机类负载设备定时拍照时拍摄的照片 
    bool isRecording;                                 相机类负载设备是否正在录像 
    uint16_t currentVideoRecordingTimeInSeconds;      指定相机类负载设备录像时间的进度,单位:s 
    bool isOverheating;                               相机是否过热
    bool hasError;                                    相机是否出现错误 
} T_PsdkCameraSystemState;

typedef struct T_PsdkCameraPointInScreen

相机类负载设备在对焦模式下对焦对象的位置

typedef struct {
    psdk_f32_t focusX;       指定对焦对象的水平位置,该位置的范围为01 
    psdk_f32_t focusY;       指定对焦对象的垂直位置,该位置的范围为01 
} T_PsdkCameraPointInScreen;

typedef struct T_PsdkCameraFocusAssistantSettings

设置相机类负载设备的对焦助手

typedef struct {
    bool isEnabledMF;       在手动对焦的模式下使用对焦助手功能 
    bool isEnabledAF;       在自动对焦的模式下使用对焦助手功能 
} T_PsdkCameraFocusAssistantSettings;

typedef struct T_PsdkCameraPlaybackStatus

相机类负载设备的回放状态

typedef struct {
    E_PsdkCameraPlaybackMode playbackMode;    媒体文件当前的播放时间,详情请参见:E_PsdkCameraPlaybackMode 
    uint8_t videoPlayProcess;                 当前媒体文件的播放进度,范围为0100 
    uint32_t videoLengthMs;                   媒体文件总的播放时长,单位:ms 
    uint32_t playPosMs;                       指定当前所需播放的位置,单位:ms 
} T_PsdkCameraPlaybackStatus;

typedef struct T_PsdkCameraMediaFileAttr

视频文件的信息

typedef struct {
    uint16_t attrVideoDuration;        视频文件的回放时长,单位:s 
    uint16_t attrVideoFrameRate;       视频文件的帧率,单位:fps 
    uint16_t attrVideoResolution;      视频文件的分辨率,单位:px 
} T_PsdkCameraMediaFileAttr;

typedef struct T_PsdkCameraMediaFileInfo

媒体文件的信息

typedef struct {
    E_PsdkCameraMediaFileType type;              媒体文件的类型,详情请参见:E_PsdkCameraMediaFileType 
    T_PsdkCameraMediaFileAttr mediaFileAttr;     媒体文件的属性 
    uint32_t fileSize;                           媒体文件的大小,单位:byte 
} T_PsdkCameraMediaFileInfo;

typedef struct T_PsdkCameraOpticalZoomSpec

相机类负载设备的光学变焦

typedef struct {
    uint16_t maxFocalLength;       相机类负载设备最大光学变焦,单位:0.1mm 
    uint16_t minFocalLength;       相机类负载设备最小光学变焦,单位:0.1mm 
    uint16_t focalLengthStep;      相机类负载设备光学变焦的变焦值,单位:0.1mm 
} T_PsdkCameraOpticalZoomSpec;

typedef struct T_PsdkCameraTapZoomState

相机类负载设备指点变焦功能的状态

typedef struct {
    E_PsdkCameraTapZoomState zoomState;       相机类负载设备的变焦状态 
    bool isGimbalMoving;                      相机类负载设备执行指点变焦时云台的转动状态 
} T_PsdkCameraTapZoomState;

typedef struct T_PsdkCameraCommonHandler

控制相机类负载设备执行基础动作,请根据本结构体中的函数构造相机类负载设备执行基础功能的回调函数,其中包括:

  • 获取相机类负载设备的当前状态
  • 设置相机类负载设备的工作模式
  • 获取相机类负载设备当前的工作模式
  • 控制相机类负载设备开始录像
  • 控制相机类负载设备停止录像
  • 控制相机类负载设备开始拍摄照片
  • 控制相机类负载设备停止拍摄照片
  • 设置相机类负载设备的拍照模式
  • 获取相机类负载设备当前的拍照模式
  • 设置相机类负载设备在连拍模式下的连拍张数
  • 获取相机类负载设备当前的连拍张数
  • 设置相机类负载设备在定时拍照模式下的拍照间隔
  • 获取相机类负载设备在定时拍照模式下的拍照间隔
  • 获取相机类负载设备中当前SD 卡状态
  • 控制相机类负载设备格式化SD 卡

说明

  • 为防止该函数阻塞PSDK 的主线程,导致出现程序响应缓慢、相机类负载设备断连及死循环等问题,请勿以阻塞的方式在回调函数中执行该函数。
  • 使用控制相机类负载设备执行基础动作的功能时,请根据如下函数原型开发相机类负载设备的基础功能。
typedef struct {
     @brief 获取相机类负载设备当前状态的回调函数
     @param systemState: 指向用于存储相机类负载设备当前状态的内存空间
     @return 执行结果
     T_PsdkReturnCode (*GetSystemState)(T_PsdkCameraSystemState *systemState);
    
     @brief 设置相机类负载设备工作模式的回调函数
     @note 在相机类负载设备执行某项任务时无法切换工作模式
     @param mode: 相机工作的模式
     @return 执行结果
     T_PsdkReturnCode (*SetMode)(E_PsdkCameraMode mode);
    
     @brief 获取相机类负载设备当前工作模式的回调函数
     @param mode: 指向用于存储相机类负载设备工作模式的内存空间
     @return 执行结果
     T_PsdkReturnCode (*GetMode)(E_PsdkCameraMode *mode);
    
     @brief 控制相机类负载设备开始录像的回调函数
     @return 执行结果
     T_PsdkReturnCode (*StartRecordVideo)(void);
    
     @brief 控制相机类负载设备停止录像的回调函数
     @return 执行结果
     T_PsdkReturnCode (*StopRecordVideo)(void);

     @brief 控制相机类负载设备开始拍摄照片的回调函数
     @return 执行结果
     T_PsdkReturnCode (*StartShootPhoto)(void);
    
     @brief 控制相机类负载设备停止拍摄照片的回调函数
     @return 执行结果
     T_PsdkReturnCode (*StopShootPhoto)(void);

     @brief 设置相机类负载设备拍照模式的回调函数
     @param mode: 相机拍照的模式
     @return 执行结果
     T_PsdkReturnCode (*SetShootPhotoMode)(E_PsdkCameraShootPhotoMode mode);
    
     @brief 获取相机类负载设备当前拍照模式的回调函数
     @param mode: 指向用于存储相机类负载设备拍照模式的内存空间
     @return 执行结果
     T_PsdkReturnCode (*GetShootPhotoMode)(E_PsdkCameraShootPhotoMode *mode);
    
     @brief 设置相机类负载设备在连拍模式下,连拍张数的回调函数
     @param burstCount: 相机连拍张数
     @return 执行结果
     T_PsdkReturnCode (*SetPhotoBurstCount)(E_PsdkCameraBurstCount burstCount);

     @brief 获取相机类负载设备当前连拍张数的回调函数
     @param burstCount: 指向用于存储相机类负载设备连拍张数的内存空间
     @return 执行结果
     T_PsdkReturnCode (*GetPhotoBurstCount)(E_PsdkCameraBurstCount *burstCount);
    
     @brief 设置相机类负载设备在定时拍照模式下拍照间隔的回调函数
     @note 在定时拍照模式下拍照的时间间隔范围为2255,当时间间隔设为255 时,相机类负载设备将会持续拍摄照片
     @param settings: 设置相机类负载设备在定时拍照模式下拍照的时间间隔
     @return 执行结果
     T_PsdkReturnCode (*SetPhotoTimeIntervalSettings)(T_PsdkCameraPhotoTimeIntervalSettings settings);
    
     @brief 获取相机类负载设备在定时拍照模式下拍照间隔的回调函数
     @param settings: 指向用于存储相机类负载设备在定时拍照模式下拍照间隔时间的内存空间
     @return 执行结果
     T_PsdkReturnCode (*GetPhotoTimeIntervalSettings)(T_PsdkCameraPhotoTimeIntervalSettings *settings);

     @brief 获取相机类负载设备中当前SD 卡状态的回调函数
     @param sdCardState: 指向用于存储相机类负载SD 卡状态的内存空间
     @return 执行结果
     T_PsdkReturnCode (*GetSDCardState)(T_PsdkCameraSDCardState *sdCardState);
    
     @brief 控制相机类负载设备格式化SD 卡的回调函数
     @return 执行结果
     T_PsdkReturnCode (*FormatSDCard)(void);

} T_PsdkCameraCommonHandler;

typedef struct T_PsdkCameraExposureMeteringHandler

控制相机类负载设备执行测光功能,请根据本结构体中的函数构造控制相机类负载设备执行测光相关功能的回调函数,其中包括:

  • 设置相机类负载设备的测光模式
  • 获取相机类负载设备当前的测光模式
  • 设置相机类负载设备在点测光模式下的测光对象
  • 获取相机类负载设备在点测光模式下的测光对象

说明

  • 为防止该函数阻塞PSDK 的主线程,导致出现程序响应缓慢、相机类负载设备断连及死循环等问题,请勿以阻塞的方式在回调函数中执行该函数;
  • 使用控制相机类负载设备执行测光的功能时,请根据如下函数原型开发相机类负载设备的测光功能。
typedef struct {
     @brief 设置相机类负载设备测光模式的回调函数
     @param mode: 相机测光模式
     @return 执行结果
     T_PsdkReturnCode (*SetMeteringMode)(E_PsdkCameraMeteringMode mode);
    
     @brief 获取相机类负载设备当前测光模式的回调函数
     @param mode: 指向用于存储相机类负载设备测光模式的内存空间
     @return 执行结果
     T_PsdkReturnCode (*GetMeteringMode)(E_PsdkCameraMeteringMode *mode);
    
     @brief 设置相机类负载设备在点测光模式下测光对象的回调函数
     @param target: 相机类负载设备在点测光模式下的测光对象
     @return 执行结果
     T_PsdkReturnCode (*SetSpotMeteringTarget)(T_PsdkCameraSpotMeteringTarget target);
    
     @brief 获取相机类负载设备在点测光模式下测光对象的回调函数
     @param target: 指向用于存储相机类负载设备在点测光模式下测光对象的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetSpotMeteringTarget)(T_PsdkCameraSpotMeteringTarget *target);

} T_PsdkCameraExposureMeteringHandler;

typedef struct T_PsdkCameraFocusHandler

控制相机类负载设备执行对焦功能,请根据本结构体中的函数构造控制相机类负载设备执行对焦相关功能的回调函数,其中包括:

  • 设置相机类负载设备的对焦模式
  • 获取相机类负载设备当前的对焦模式
  • 设置相机类负载设备的对焦区域
  • 获取相机类负载设备的对焦区域
  • 设置相机类负载设备的对焦助手
  • 获取相机类负载设备对焦助手的状态
  • 设置相机类负载设备对焦环的值
  • 获取相机类负载设备对焦环的值
  • 获取相机类负载设备对焦环上限的值

说明

  • 为防止该函数阻塞PSDK 的主线程,导致出现程序响应缓慢、相机类负载设备断连及死循环等问题,请勿以阻塞的方式在回调函数中执行该函数。
  • 使用控制相机类负载设备执行光学变焦的功能时,请根据如下函数原型开发相机类负载设备的光学变焦功能。
typedef struct {
     @brief 设置相机类负载设备对焦模式的回调函数
     @param mode: 相机类负载设备的对焦模式
     @return 执行结果     
     T_PsdkReturnCode (*SetFocusMode)(E_PsdkCameraFocusMode mode);
    
     @brief 获取相机类负载设备当前对焦模式的回调函数
     @param mode: 指向用于存储相机类负载设备当前对焦模式的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetFocusMode)(E_PsdkCameraFocusMode *mode);
    
     @brief 设置相机类负载设备对焦区域的回调函数
     @param target: 相机类负载设备的对焦区域
     @return 执行结果     
     T_PsdkReturnCode (*SetFocusTarget)(T_PsdkCameraPointInScreen target);
    
     @brief 获取相机类负载设备对焦区域的回调函数
     @param target: 指向用于存储相机类负载设备对焦区域的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetFocusTarget)(T_PsdkCameraPointInScreen *target);
    
     @brief 设置相机类负载设备对焦助手的回调函数
     @param settings: 相机类负载设备对焦助手的状态
     @return 执行结果     
     T_PsdkReturnCode (*SetFocusAssistantSettings)(T_PsdkCameraFocusAssistantSettings settings);
    
     @brief 获取相机类负载设备对焦助手状态的回调函数
     @param settings: 指向用于存储相机类负载设备对焦助手状态的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetFocusAssistantSettings)(T_PsdkCameraFocusAssistantSettings *settings);
    
     @brief 设置相机类负载设备对焦环值的回调函数
     @param value: 相机类负载设备对焦环的值
     @return 执行结果     
     T_PsdkReturnCode (*SetFocusRingValue)(uint32_t value);
    
     @brief 获取相机类负载设备对焦环值的回调函数
     @param value: 指向用于存储相机类负载设备对焦环值的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetFocusRingValue)(uint32_t *value);
    
     @brief 获取相机类负载设备对焦环上限值的回调函数
     @param value: 指向用于存储相机类负载设备对焦环上限值的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetFocusRingValueUpperBound)(uint32_t *value);

} T_PsdkCameraFocusHandler;

typedef struct T_PsdkCameraDigitalZoomHandler

控制相机类负载设备执行数字变焦功能,请根据本结构体中的函数构造控制相机类负载设备执行数字对焦相关功能的回调函数,其中包括:

  • 设置相机类负载设备数字变焦倍数的回调函数
  • 获取相机类负载设备数字变焦倍数的回调函数

说明

  • 为防止该函数阻塞PSDK 的主线程,导致出现程序响应缓慢、相机类负载设备断连及死循环等问题,请勿以阻塞的方式在回调函数中执行该函数;
  • 使用控制相机类负载设备执行数字变焦的功能时,请根据如下函数原型开发相机类负载设备的数字变焦功能。
typedef struct {
     @brief 设置相机类负载设备数字变焦倍数的回调函数
     @param factor: 相机类负载设备的数字变焦倍数
     @return 执行结果     
     T_PsdkReturnCode (*SetDigitalZoomFactor)(psdk_f32_t factor);
    
     @brief 获取相机类负载设备数字变焦倍数的回调函数
     @param factor: 指向用于存储相机类负载设备数字变焦倍数的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetDigitalZoomFactor)(psdk_f32_t *factor);

} T_PsdkCameraDigitalZoomHandler;

typedef struct T_PsdkCameraOpticalZoomHandler

控制相机类负载设备执行光学变焦功能,请根据本结构体中的函数构造控制相机类负载设备执行光学变焦相关功能的回调函数,其中包括:

  • 设置相机类负载设备光学变焦的焦距
  • 获取相机类负载设备光学变焦的焦距
  • 获取相机类负载设备光学变焦的倍数
  • 获取相机类负载设备当前光学变焦的倍数
  • 控制相机类负载设备开始连续光学变焦
  • 控制相机类负载设备停止连续光学变焦

说明

  • 为防止该函数阻塞PSDK 的主线程,导致出现程序响应缓慢、相机类负载设备断连及死循环等问题,请勿以阻塞的方式在回调函数中执行该函数
  • 使用控制相机类负载设备执行光学变焦的功能时,请根据如下函数原型开发相机类负载设备的光学变焦功能。
typedef struct {
     @brief 设置相机类负载设备光学变焦焦距的回调函数
     @param focalLength: 相机类负载设备光学变焦焦距
     @return 执行结果     
     T_PsdkReturnCode (*SetOpticalZoomFocalLength)(uint32_t focalLength);
    
     @brief 获取相机类负载设备光学变焦焦距的回调函数
     @param focalLength: 指向用于存储相机类负载设备光学变焦焦距的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetOpticalZoomFocalLength)(uint32_t *focalLength);
    
     @brief 获取相机类负载设备光学变焦倍数的回调函数
     @param factor: 指向用于存储相机类负载设备光学变焦倍数的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetOpticalZoomFactor)(psdk_f32_t *factor);
    
     @brief 获取相机类负载设备当前光学变焦倍数的回调函数
     @param spec: 指向用于存储相机类负载设备当前光学变焦倍数的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetOpticalZoomSpec)(T_PsdkCameraOpticalZoomSpec *spec);
    
     @brief 控制相机类负载设备开始连续光学变焦的回调函数
     @param direction: 相机类负载设备连续光学变焦的方向
     @param speed: 相机类负载设备连续光学变焦的速度
     @return 执行结果     
     T_PsdkReturnCode (*StartContinuousOpticalZoom)(E_PsdkCameraZoomDirection direction,E_PsdkCameraZoomSpeed speed);
    
     @brief 控制相机类负载设备停止连续光学变焦的回调函数
     @return 执行结果
     T_PsdkReturnCode (*StopContinuousOpticalZoom)(void);

} T_PsdkCameraOpticalZoomHandler;

typedef struct T_PsdkCameraMediaDownloadPlaybackHandler

控制相机类负载设备执行媒体文件下载回放功能,请根据本结构体中的函数构造控制相机类负载设备执行媒体文件下载回放相关功能的回调函数,其中包括:

  • 获取相机类负载设备中媒体文件的路径
  • 获取相机类负载设备中指定媒体文件的信息
  • 获取相机类负载设备中指定的媒体文件(源文件)
  • 为相机类负载设备中指定的媒体文件创建缩略图
  • 获取相机类负载设备中已创建的缩略图信息
  • 获取相机类负载设备中已创建的缩略图
  • 销毁相机类负载设备中为指定媒体文件已创建的缩略图
  • 为相机类负载设备中指定的媒体文件创建截屏图
  • 获取相机类负载设备中已创建的截屏图
  • 获取相机类负载设备中已创建的截屏图信息
  • 销毁相机类负载设备中为指定媒体文件已创建的截屏图
  • 通知用户开始下载媒体文件
  • 通知用户停止下载媒体文件
  • 删除相机类负载设备中用户指定的媒体文件
  • 获取相机类负载设备中媒体文件回放状态
  • 设置相机类负载设备中所需回放的媒体文件路径
  • 控制相机类负载设备在回放模式下开始回放指定的媒体文件
  • 控制相机类负载设备在回放模式下停止回放指定的媒体文件
  • 控制相机类负载设备在回放模式下暂停回放指定的媒体文件
  • 控制相机类负载设备在回放模式下从指定的位置开始回放指定的媒体文件

说明

  • 仅Linux 平台支持PSDK 的媒体文件下载回放功能。
  • 为防止该函数阻塞PSDK 的主线程,导致出现程序响应缓慢、相机类负载设备断连及死循环等问题,请勿以阻塞的方式在回调函数中执行该函数。
  • 使用控制相机类负载设备执行媒体文件下载回放的功能时,请根据如下函数原型开发相机类负载设备的下载回放功能。
typedef struct {
     @brief 获取相机类负载设备中媒体文件路径的回调函数
     @param dirPath: 指向用于存储相机类负载设备中媒体文件路径的内存空间
     @warning 媒体文件路径的长度(包含'\0'在内)不可超过 256
     @return 执行结果     
     T_PsdkReturnCode (*GetMediaFileDir)(char *dirPath);
    
     @brief 获取相机类负载设备中指定的媒体文件信息的回调函数
     @param dirPath: 指向用于存储相机类负载设备中指定的媒体文件路径的内存空间
     @param fileInfo: 指向用于存储相机类负载设备中指定的媒体文件信息的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetMediaFileOriginInfo)(const char *filePath, T_PsdkCameraMediaFileInfo *fileInfo);
    
     @brief 获取相机类负载设备中指定媒体文件(源文件)的回调函数
     @param dirPath: 指向用于存储相机类负载设备中指定的媒体文件路径的内存空间
     @param offset: 相机类负载设备中指定媒体文件的偏移位置
     @param length: 相机类负载设备中指定媒体文件原始数据的长度
     @param data: 指向媒体文件的原始数据
     @return 执行结果     
     T_PsdkReturnCode (*GetMediaFileOriginData)(const char *filePath, uint32_t offset, uint32_t length, uint8_t *data);
    
     @brief 为相机类负载设备中指定的媒体文件创建缩略图的回调函数
     @param dirPath: 指向用于存储相机类负载设备中指定的媒体文件路径的内存空间
     @return 执行结果
     T_PsdkReturnCode (*CreateMediaFileThumbNail)(const char *filePath);
    
     @brief 获取相机类负载设备中已创建的缩略图信息的回调函数
     @param dirPath: 指向用于存储相机类负载设备中指定的媒体文件路径的内存空间
     @param fileInfo: 指向用于存储相机类负载设备中已创建的缩略图信息的内存空间
     @return 执行结果
     T_PsdkReturnCode (*GetMediaFileThumbNailInfo)(const char *filePath, T_PsdkCameraMediaFileInfo *fileInfo);

     @brief 获取相机类负载设备中已创建的缩略图的回调函数
     @param dirPath: 指向用于存储相机类负载设备中指定的媒体文件路径的内存空间
     @param offset: 缩略图数据的偏移位置    
     @param length: 缩略图数据的长度     
     @param data: 缩略图的数据    
     @return 执行结果
     T_PsdkReturnCode (*GetMediaFileThumbNailData)(const char *filePath, uint32_t offset, uint32_t length,
                                                  uint8_t *data);

     @brief 销毁相机类负载设备中为指定媒体文件已创建的缩略图的回调函数
     @param dirPath: 指向用于存储相机类负载设备中指定的媒体文件路径的内存空间
     @return 执行结果
     T_PsdkReturnCode (*DestroyMediaFileThumbNail)(const char *filePath);
    
     @brief 为相机类负载设备中指定的媒体文件创建截屏图的回调函数
     @param dirPath: 指向用于存储相机类负载设备中指定的媒体文件路径的内存空间
     @return 执行结果      
     T_PsdkReturnCode (*CreateMediaFileScreenNail)(const char *filePath);
    
     @brief 获取相机类负载设备中已创建的截屏图的回调函数
     @param dirPath: 指向用于存储相机类负载设备中指定的媒体文件路径的内存空间
     @param offset: 截屏图数据的偏移位置    
     @param length: 截屏图数据的长度     
     @param data: 截屏图的数据    
     @return 执行结果      
     T_PsdkReturnCode (*GetMediaFileScreenNailData)(const char *filePath, uint32_t offset, uint32_t length,
                                                   uint8_t *data);
    
     @brief 获取相机类负载设备中已创建的截屏图信息的回调函数
     @param dirPath: 指向用于存储相机类负载设备中指定的媒体文件路径的内存空间
     @param fileInfo: 指向用于存储相机类负载设备中已创建的截屏图信息的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetMediaFileScreenNailInfo)(const char *filePath, T_PsdkCameraMediaFileInfo *fileInfo);
    
     @brief 销毁相机类负载设备中为指定媒体文件已创建的截屏图的回调函数
     @param dirPath: 指向用于存储相机类负载设备中指定的媒体文件路径的内存空间
     @return 执行结果      
     T_PsdkReturnCode (*DestroyMediaFileScreenNail)(const char *filePath);
    
     @brief 通知用户开始下载媒体文件的回调函数
     @note 在该回调函数中,开发者可设置高速数据传输通道的占用比例
     @return 执行结果     
     T_PsdkReturnCode (*StartDownloadNotification)(void);
    
     @brief 通知用户停止下载媒体文件的回调函数
     @note 在该回调函数中,开发者可设置高速数据传输通道的占用比例
     @return 执行结果     
     T_PsdkReturnCode (*StopDownloadNotification)(void);
    
     @brief 删除相机类负载设备中用户指定的媒体文件
     @param filePath: 指向用于存储相机类负载设备中指定的媒体文件路径的内存空间
     @return 执行结果      
     T_PsdkReturnCode (*DeleteMediaFile)(char *filePath);
    
     @brief 获取相机类负载设备中媒体文件回放状态的回调函数
     @param status: 指向媒体文件的回放状态
     @return 执行结果
     T_PsdkReturnCode (*GetMediaPlaybackStatus)(T_PsdkCameraPlaybackStatus *status);
    
     @brief 设置相机类负载设备中所需回放的媒体文件路径的回调函数
     @param filePath: 指向用于存储相机类负载设备中所需回放的媒体文件路径的内存空间
     @return 执行结果
     T_PsdkReturnCode (*SetMediaPlaybackFile)(const char *filePath);
    
     @brief 控制相机类负载设备在回放模式下开始回放指定的媒体文件的回调函数
     @return 执行结果
     T_PsdkReturnCode (*StartMediaPlayback)(void);
    
     @brief 控制相机类负载设备在回放模式下停止回放指定的媒体文件的回调函数
     @return 执行结果
     T_PsdkReturnCode (*StopMediaPlayback)(void);
    
     @brief 控制相机类负载设备在回放模式下暂停回放指定的媒体文件的回调函数
     @return 执行结果   
     T_PsdkReturnCode (*PauseMediaPlayback)(void);
    
     @brief 控制相机类负载设备在回放模式下从指定的位置开始回放指定的媒体文件的回调函数
     @param playbackPosition: 媒体文件的回放位置,单位:ms
     @return 执行结果      
     T_PsdkReturnCode (*SeekMediaPlayback)(uint32_t playbackPosition);

} T_PsdkCameraMediaDownloadPlaybackHandler;

typedef struct T_PsdkCameraTapZoomHandler

控制相机类负载设备执行指点变焦功能,请根据本结构体中的函数构造控制相机类负载设备执行指点变焦相关功能的回调函数,其中包括:

  • 获取相机类负载设备指点变焦功能的状态
  • 开启或关闭相机类负载设备指点变焦功能
  • 获取相机类负载设备指点变焦功能的标志状态
  • 设置相机类负载设备指点变焦的倍数
  • 获取相机类负载设备指点变焦的倍数
  • 触发相机类负载设备执行指点变焦功能

说明

  • 仅Linux 平台支持PSDK 的指点变焦功能;
  • 为防止该函数阻塞PSDK 的主线程,导致出现程序响应缓慢、相机类负载设备断连及死循环等问题,请勿以阻塞的方式在回调函数中执行该函数;
  • 使用控制相机类负载设备执行指点变焦的功能时,请根据如下函数原型开发相机类负载设备的指点变焦功能。
typedef struct {
     @brief 获取相机类负载设备指点变焦功能状态的回调函数
     @param state: 指向用于存储相机类负载设备指点变焦功能状态的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetTapZoomState)(T_PsdkCameraTapZoomState *state);
    
     @brief 开启或关闭相机类负载设备指点变焦功能的回调函数
     @note 仅在开启相机类负载设备指点变焦的功能后,才能使用指点变焦功能
     @param enabledFlag: 开启相机类负载设备指点变焦功能的标志
     @return 执行结果
     T_PsdkReturnCode (*SetTapZoomEnabled)(bool enabledFlag);
    
     @brief 获取相机类负载设备指点变焦功能标志状态(判断是否已开启指点变焦功能)的回调函数
     @param enabledFlag: 指向用于存储相机类负载设备指点变焦功能标志的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetTapZoomEnabled)(bool *enabledFlag);
    
     @brief 设置相机类负载设备指点变焦倍数的回调函数
     @param multiplier: 相机类负载设备指点变焦倍数
     @return 执行结果     
     T_PsdkReturnCode (*SetTapZoomMultiplier)(uint8_t multiplier);
    
     @brief 获取相机类负载设备指点变焦倍数的回调函数
     @param multiplier: 指向用于存储相机类负载设备指点变焦倍数的内存空间
     @return 执行结果     
     T_PsdkReturnCode (*GetTapZoomMultiplier)(uint8_t *multiplier);

     @brief 触发相机类负载设备执行指点变焦功能的回调函数
     @note 用户在DJI Pilot 或基于MSDK 开发的App 上指定所需放大的对象后将调用该回调函数
     @note 基于PSDK 开发的负载设备控制程序能够控制云台转向指定的位置,再以指定的变焦倍数放大用户指定的对象
     @param target: 用户在DJI Pilot 或基于MSDK 开发的App 上指定的对象位置信息
     @return 执行结果
     T_PsdkReturnCode (*TapZoomAtTarget)(T_PsdkCameraPointInScreen target);

} T_PsdkCameraTapZoomHandler;

函数原型

function PsdkPayloadCamera_Init

功能:PSDK 相机模块初始化 product:all

负载设备相机模块初始化。

说明

  • 使用相机类功能前,请先调用本接口初始化相机模块;
  • 开发者可根据用户实际的使用需求,按照相机模块中的函数原型构造并注册回调函数,在使用相机类功能前,请先调用本接口初始化相机模块。
T_PsdkReturnCode PsdkPayloadCamera_Init(void);


返回值

根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkPayloadCamera_RegCommonHandler

功能:注册相机类负载设备的基础功能 product:all

注册相机类负载设备基础功能接口的句柄。

说明

  • 在使用相机类负载设备的基础功能前,请开发者按照相机类基础功能的函数原型,构造控制。
  • 相机类负载设备执行基础功能的回调函数,并将该回调函数注册到如下接口中。
T_PsdkReturnCode PsdkPayloadCamera_RegCommonHandler(const T_PsdkCameraCommonHandler *cameraCommonHandler);
参数
cameraCommonHandler:指向开发者实现的相机类负载设备基础功能的函数
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkPayloadCamera_RegExposureMeteringHandler

功能:注册相机类负载设备曝光和测光的功能 product:all

注册相机类负载设备执行曝光和测光功能接口的句柄。

说明

  • 在使用相机类负载设备的曝光和测光功能前,请开发者按照相机曝光和测光功能的函数原型,构造控制相机类负载设备实现测光和曝光功能的回调函数,并将该回调函数注册到如下接口中;
  • 在使用相机曝光和测光功能时,请注意相应接口中参数的取值范围。
T_PsdkReturnCode PsdkPayloadCamera_RegExposureMeteringHandler(const T_PsdkCameraExposureMeteringHandler
                                                              *cameraExposureMeteringHandler);

function PsdkPayloadCamera_RegFocusHandler

功能:注册相机类负载设备的对焦功能 product:all

注册相机类负载设备执行对焦功能接口的句柄。

说明

  • 在使用相机类负载设备的对焦功能前,请开发者按照相机对焦功能的函数原型,构造控制相机类负载设备实现对焦功能的回调函数,并将该回调函数注册到如下接口中;
  • 在使用相机对焦功能时,请注意相应接口中参数的取值范围。
T_PsdkReturnCode PsdkPayloadCamera_RegFocusHandler(const T_PsdkCameraFocusHandler *cameraFocusHandler);
参数
cameraFocusHandler:指向开发者实现的相机类负载设备的对焦功能
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkPayloadCamera_RegDigitalZoomHandler

功能:注册相机类负载设备的数字变焦功能 product:all

注册相机类负载设备执行数字变焦功能接口的句柄。

说明: 在使用相机类负载设备数字变焦功能前,请开发者按照相机数字变焦功能的函数原型,构造控制相机类负载设备实现数字变焦功能的回调函数,并将该回调函数注册到如下接口中。

T_PsdkReturnCode PsdkPayloadCamera_RegDigitalZoomHandler(const T_PsdkCameraDigitalZoomHandler
                                                         *cameraDigitalZoomHandler);
参数
cameraDigitalZoomHandler:指向开发者实现的相机类负载设备的数字变焦功能
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkPayloadCamera_RegOpticalZoomHandler

功能:注册相机类负载设备的光学变焦功能 product:all

注册相机类负载设备执行光学变焦功能接口的句柄。

说明: 在使用相机类负载设备光学变焦功能前,请开发者按照相机光学变焦功能的函数原型,构造控制相机类负载设备实现光学变焦功能的回调函数,并将该回调函数注册到如下接口中。

T_PsdkReturnCode PsdkPayloadCamera_RegOpticalZoomHandler(const T_PsdkCameraOpticalZoomHandler
                                                         *cameraOpticalZoomHandler);
参数
cameraOpticalZoomHandler:指向开发者实现的相机类负载设备的数字变焦功能
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkPayloadCamera_RegTapZoomHandler

功能:注册相机类负载设备的指点变焦功能product:all

注册相机类负载设备执行指点变焦功能接口的句柄。

说明: 在使用相机类负载设备光学变焦功能前,请开发者按照相机光学变焦功能的函数原型,构造控制相机类负载设备实现光学变焦功能的回调函数,并将该回调函数注册到如下接口中。

T_PsdkReturnCode PsdkPayloadCamera_RegTapZoomHandler(const T_PsdkCameraTapZoomHandler *cameraTapZoomHandler);
参数
cameraTapZoomHandler:指向开发者实现的相机类负载设备的指点变焦功能
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkPayloadCamera_RegMediaDownloadPlaybackHandler

功能:注册相机类负载设备的下载回放功能 product:all

注册相机类负载设备下载回放接口的句柄。
具有下载回放功能的相机类负载设备能够方便用户通过使用DJI Pilot 或基于MSDK 开发的移动端App 操作相机类负载设备中的媒体文件(目前仅支持MP4 和JPG 格式)。

说明

  • 在使用相机类负载设备下载回放功能前,请开发者按照相机下载回放功能的函数原型,构造控制。
  • 相机类负载设备实现下载回放功能的回调函数,并将该回调函数注册到如下接口中。
T_PsdkReturnCode PsdkPayloadCamera_RegMediaDownloadPlaybackHandler(const T_PsdkCameraMediaDownloadPlaybackHandler
                                                                   *cameraMediaHandler);
参数
cameraMediaHandler:指向相机类负载设备的回放下载接口的句柄
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkPayloadCamera_SendVideoStream

功能:发送视频文件 product:all

说明

  • 在使用该功能前,请确保高速数据传输通道的实际带宽小于实时带宽限制;
  • 使用PsdkPayloadCamera_GetVideoStreamState() 接口,即可获取高速数据传输通道中传输视频流数据的状态。
T_PsdkReturnCode PsdkPayloadCamera_SendVideoStream(const uint8_t *data, uint16_t len);
参数
data:指向用户所需发送的数据
len:所需发送的数据长度(≤ 65000,单位:byte)
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkPayloadCamera_GetVideoStreamState

功能:获取视频流传输的状态 product:all

获取高速数据传输通道中传视频流数据的状态。

T_PsdkReturnCode PsdkPayloadCamera_GetVideoStreamState(T_PsdkDataChannelState *state);
参数
state:指向高速数据传输通道中传视频流数据的状态
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkPayloadCamera_SetVideoStreamType

功能:设置相机视频流格式 product:all

在初始化相机功能时,可以调用该接口设置相机视频流格式

说明

  • 设置相机视频流格式需要在调用PsdkCore_ApplicationStart接口之前,该接口的最长执行时间为10S;
  • 若不调用该接口,相机视频流格式默认为 PSDK_CAMERA_VIDEO_STREAM_TYPE_H264_CUSTOM_FORMAT。
T_PsdkReturnCode PsdkPayloadCamera_SetVideoStreamType(E_PsdkCameraVideoStreamType videoStreamType);
参数
videoStreamType:相机视频流格式
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkPayloadCamera_GetVideoStreamRemoteAddress

功能:获取发送视频流的目标地址 product:all

用户可以获取视频流传输的目标地址,在异构系统中通过其他子系统独立发送视频流数据。

说明

  • 该接口需要在调用PsdkCore_Init之后使用。
T_PsdkReturnCode PsdkPayloadCamera_GetVideoStreamRemoteAddress(char *ipAddr, uint16_t *port);
参数
ipAddr:指向视频流传输的目标地址
port:指向视频流传输的目标端口
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkPayloadCamera_PushAddedMediaFileInfo

功能:推送媒体文件的信息 product:all

在拍照或录制视频文件后,用户必须立刻使用本接口向无人机推送创建媒体文件的信息

T_PsdkReturnCode
PsdkPayloadCamera_PushAddedMediaFileInfo(const char *filePath, T_PsdkCameraMediaFileInfo mediaFileInfo);
参数
filePath:指向已添加的媒体文件的地址,且必须以'\0' 结尾,媒体文件地址的长度不可超过PSDK_FILE_PATH_SIZE_MAX bytes
mediaFileInfo:已添加的媒体文件的信息
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode
最近修改: 8/23/2022, 8:30:21 AM
若您对文档有意见或疑惑,点击可快速反馈,我们会与您联系。