数据类型

音频编码类型

typedef enum AudioEncoderType { 
    AMR_NB = 1,
    AAC
}AudioEncoderType;
名称 数值 含义
AMR_NB 1 AMR_NB编码
AAC 2 AAC编码

音频模式

typedef enum AudioMode { 
    VOICE_CHAT = 0,
    MOVIE_RECORD
}AudioMode;
名称 数值 含义
VOICE_CHAT 0 参见iOS:AVAudioSessionModeVideoChat
MOVIE_RECORD 1 参见IOS:AVAudioSessionModeVideoRecording

认证模式

typedef enum AuthMode { 
    CHALLENGE_PASSWORD = 1,
    CLEAR_PASSWORD
}AuthMode;
名称 数值 含义
CHALLENGE_PASSWORD 1 挑战认证
CLEAR_PASSWORD 0 明文认证

分辨率

typedef enum ResolutionValue { 
    RESOLUTION_LOW = 0,
    RESOLUTION_MEDIUM, 
    RESOLUTION_VGA, 
    RESOLUTION_HIGH,
    RESOLUTION_PHOTO, 
    RESOLUTION_352x288,
    RESOLUTION_1280x720,
    RESOLUTION_1920x1080,
    RESOLUTION_960x540,
    RESOLUTION_CUSTOM
} ResolutionValue;
名称 数值 含义 分辨率
RESOLUTION_LOW 0 参见iOS:AVCaptureSessionPresetLow 192x144
RESOLUTION_MEDIUM 1 参见iOS:AVCaptureSessionPresetMedium 480x360
RESOLUTION_VGA 2 参见iOS:AVCaptureSessionPreset640x480 640x480
RESOLUTION_HIGH 3 参见iOS:AVCaptureSessionPresetHigh 1280x720
RESOLUTION_PHOTO 4 参见iOS:AVCaptureSessionPresetPhoto 1280x720
RESOLUTION_352x288 5 参见iOS:AVCaptureSessionPreset352x288 352x288
RESOLUTION_1280x720 6 参见iOS:AVCaptureSessionPreset1280x720 1280x720
RESOLUTION_1920x1080 7 参见iOS:AVCaptureSessionPreset1920x1080 1920x1080
RESOLUTION_960x540 8 参见iOS:AVCaptureSessionPresetiFrame960x540 960x540
RESOLUTION_CUSTOM 9 自定义分辨率 width x height

工作模式

typedef enum WorkMode { 
    VIDEO_MODE = 0, 
    PHOTO_MODE
} WorkMode;
名称 数值 含义
VIDEO_MODE 0 视频模式,在此模式下可以拍摄视频,也可以拍摄照片,但照片清晰度不高,摄像头采集的分辨率只可以设为LOW 和MEDIUM,未来随着带宽增大,也可以用HIGH(1280*720)来录制视频。
PHOTO_MODE 1 照片模式,在此模式下不可以拍摄视频,只能用来拍摄照片,照片清晰,可达500万像素。

录制模式

typedef enum RecordMode { 
    HARDWARE_ENCODER_LOCAL_STORAGE_ONLY = 0, 
    HARDWARE_ENCODER_WITH_FULL_UPLOAD, 
    HARDWARE_ENCODER_LOW_DELAY, 
    HARDWARE_SOFTWARE_ENCODER_LOW_DELAY, 
    HARDWARE_ENCODER_STREAM
} RecordMode;
名称 数值 含义
HARDWARE_ENCODER_LOCAL_STORAGE_ONLY 0 启用硬件编码,视频数据不直播,仅保存在本地
HARDWARE_ENCODER_WITH_FULL_UPLOAD 1 启用硬件编码,不管网络是否有阻塞,都按照顺序上传完整数据
HARDWARE_ENCODER_LOW_DELAY 2 启用硬件编码,希望在网络阻塞时,能够丢弃数据,尽量让后台获取最新数据
HARDWARE_SOFTWARE_ENCODER_LOW_DELAY 3 同时启用硬件和软件编码,硬件编码的数据保存在本地,软编数据发送到后台,增强后台实时性
HARDWARE_ENCODER_STREAM 4 iOS8硬编码优化,将视频数据直接生成流传输到后台,缩短延迟

HARDWARE_ENCODER_WITH_FULL_UPLOADHARDWARE_ENCODER_LOW_DELAY 这两种录制模式为了兼容老版本使用,现有版本不支持这两种模式。

上传本地文件模式

typedef enum UploadMode {
    UPLOAD_FROM_FILE_BEGIN = 0,
    UPLOAD_FROM_RESUME_POINT
} UploadMode;
名称 数值 含义
UPLOAD_FROM_FILE_BEGIN 0 全新上传一个视频文件
UPLOAD_FROM_RESUME_POINT 1 断点续传模式

传输模式

typedef enum TransferMode { 
    VIDEO_AND_AUDIO = 0,
    ONLY_VIDEO,
    ONLY_AUDIO
} TransferMode;
名称 数值 含义
VIDEO_AND_AUDIO 0 音视频同时上传
ONLY_VIDEO 1 只上传视频
ONLY_AUDIO 2 只上传音频

播放状态

typedef enum { 
    VideoPlayStatePlaying = 10000, 
    VideoPlayStatePause,
    VideoPlayStateStop
} VideoPlayState;
名称 数值 含义
VideoPlayStatePlaying 10000 播放状态
VideoPlayStatePause 10001 暂停状态
VideoPlayStateStop 10002 停止状态

播放器播放错误码

typedef enum { 
    ERROR_INVALID_INPUTFILE = 301, 
    ERROR_NO_SUPPORT_CODEC
} ErrorCode;
名称 数值 含义
ERROR_INVALID_INPUTFILE 301 无效的视频文件地址
ERROR_NO_SUPPORT_CODEC 302 视频编码格式不支持

视频镜像模式

typedef enum VideoMirroredMode {
    NORMAL = 0,                    
    MIRRORED                          
}VideoMirroredMode;
名称 数值 含义
NORMAL 0 正常模式
MIRRORED 1 镜像模式(类似照镜子,视频画面左右颠倒)

默认为正常模式,只有在使用前置摄像头时才可使用镜像模式。