Controlling media parameters 控制媒体参数
结构体
struct _LinphoneVideoPolicy
宏
#define LINPHONE_FIND_PAYLOAD_IGNORE_RATE -1
#define LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS -1
#define LINPHONE_VIDEO_DISPLAY_AUTO (void*)((unsigned long)0)
#define LINPHONE_VIDEO_DISPLAY_NONE (void*)((unsigned long)-1)
自定义
typedef PayloadType LinphonePayloadType
typedef enum _LinphoneAVPFMode LinphoneAVPFMode
typedef enum _LinphoneMediaEncryption LinphoneMediaEncryption
typedef struct _LinphoneVideoPolicy LinphoneVideoPolicy
枚举
enum _LinphoneAVPFMode {
LinphoneAVPFDefault =-1,
LinphoneAVPFDisabled,
LinphoneAVPFEnabled
}
enum _LinphoneMediaEncryption {
LinphoneMediaEncryptionNone,
LinphoneMediaEncryptionSRTP,
LinphoneMediaEncryptionZRTP,
LinphoneMediaEncryptionDTLS
}
函数
void |
linphone_call_params_enable_audio_multicast (LinphoneCallParams *params, bool_t yesno) |
|
bool_t |
linphone_call_params_audio_multicast_enabled (const LinphoneCallParams *params) |
|
void |
linphone_call_params_enable_video_multicast (LinphoneCallParams *params, bool_t yesno) |
|
bool_t |
linphone_call_params_video_multicast_enabled (const LinphoneCallParams *params) |
|
int |
linphone_call_params_enable_realtime_text (LinphoneCallParams *params, bool_t yesno) |
|
bool_t |
linphone_call_params_realtime_text_enabled (const LinphoneCallParams *params) |
|
void |
linphone_call_params_add_custom_sdp_attribute (LinphoneCallParams *params, const char *attribute_name, const char *attribute_value) |
|
void |
linphone_call_params_add_custom_sdp_media_attribute (LinphoneCallParams *params, LinphoneStreamType type, const char *attribute_name, const char *attribute_value) |
|
const char * |
linphone_call_params_get_custom_sdp_attribute (const LinphoneCallParams *params, const char *attribute_name) |
|
const char * |
linphone_call_params_get_custom_sdp_media_attribute (const LinphoneCallParams *params, LinphoneStreamType type, const char *attribute_name) |
|
void |
linphone_call_params_clear_custom_sdp_attributes (LinphoneCallParams *params) |
|
void |
linphone_call_params_clear_custom_sdp_media_attributes (LinphoneCallParams *params, LinphoneStreamType type) |
|
int |
linphone_core_set_audio_codecs (LinphoneCore *lc, bctbx_list_t *codecs) |
|
int |
linphone_core_set_video_codecs (LinphoneCore *lc, bctbx_list_t *codecs) |
|
int |
linphone_core_get_audio_jittcomp (LinphoneCore *lc) |
|
int |
linphone_core_get_video_jittcomp (LinphoneCore *lc) |
|
int |
linphone_core_get_nortp_timeout (const LinphoneCore *lc) |
|
void |
linphone_core_set_audio_port_range (LinphoneCore *lc, int min_port, int max_port) |
|
void |
linphone_core_set_video_port_range (LinphoneCore *lc, int min_port, int max_port) |
|
void |
linphone_core_set_text_port_range (LinphoneCore *lc, int min_port, int max_port) |
|
void |
linphone_core_set_nortp_timeout (LinphoneCore *lc, int nortp_timeout) |
|
bool_t |
linphone_core_get_use_info_for_dtmf (LinphoneCore *lc) |
|
void |
linphone_core_set_use_info_for_dtmf (LinphoneCore *lc, bool_t use_info) |
|
bool_t |
linphone_core_get_use_rfc2833_for_dtmf (LinphoneCore *lc) |
|
void |
linphone_core_set_use_rfc2833_for_dtmf (LinphoneCore *lc, bool_t use_rfc2833) |
|
int |
linphone_core_get_play_level (LinphoneCore *lc) |
|
int |
linphone_core_get_ring_level (LinphoneCore *lc) |
|
int |
linphone_core_get_rec_level (LinphoneCore *lc) |
|
void |
linphone_core_set_ring_level (LinphoneCore *lc, int level) |
|
void |
linphone_core_set_mic_gain_db (LinphoneCore *lc, float gaindb) |
|
float |
linphone_core_get_mic_gain_db (LinphoneCore *lc) |
|
void |
linphone_core_set_playback_gain_db (LinphoneCore *lc, float gaindb) |
|
float |
linphone_core_get_playback_gain_db (LinphoneCore *lc) |
|
void |
linphone_core_set_play_level (LinphoneCore *lc, int level) |
|
void |
linphone_core_set_rec_level (LinphoneCore *lc, int level) |
|
bool_t |
linphone_core_sound_device_can_capture (LinphoneCore *lc, const char *devid) |
|
bool_t |
linphone_core_sound_device_can_playback (LinphoneCore *lc, const char *devid) |
|
int |
linphone_core_set_ringer_device (LinphoneCore *lc, const char *devid) |
|
int |
linphone_core_set_playback_device (LinphoneCore *lc, const char *devid) |
|
int |
linphone_core_set_capture_device (LinphoneCore *lc, const char *devid) |
|
const char * |
linphone_core_get_ringer_device (LinphoneCore *lc) |
|
const char * |
linphone_core_get_playback_device (LinphoneCore *lc) |
|
const char * |
linphone_core_get_capture_device (LinphoneCore *lc) |
|
const char ** |
linphone_core_get_sound_devices (LinphoneCore *lc) |
|
const char ** |
linphone_core_get_video_devices (const LinphoneCore *lc) |
|
void |
linphone_core_set_ring (LinphoneCore *lc, const char *path) |
|
const char * |
linphone_core_get_ring (const LinphoneCore *lc) |
|
void |
linphone_core_set_ringback (LinphoneCore *lc, const char *path) |
|
const char * |
linphone_core_get_ringback (const LinphoneCore *lc) |
|
void |
linphone_core_enable_echo_cancellation (LinphoneCore *lc, bool_t val) |
|
bool_t |
linphone_core_echo_cancellation_enabled (LinphoneCore *lc) |
|
void |
linphone_core_set_video_policy (LinphoneCore *lc, const LinphoneVideoPolicy *policy) |
|
const LinphoneVideoPolicy * |
linphone_core_get_video_policy (const LinphoneCore *lc) |
|
void |
linphone_core_enable_video_preview (LinphoneCore *lc, bool_t val) |
|
bool_t |
linphone_core_video_preview_enabled (const LinphoneCore *lc) |
|
void |
linphone_core_enable_self_view (LinphoneCore *lc, bool_t val) |
|
bool_t |
linphone_core_self_view_enabled (const LinphoneCore *lc) |
|
int |
linphone_core_set_video_device (LinphoneCore *lc, const char *id) |
|
const char * |
linphone_core_get_video_device (const LinphoneCore *lc) |
|
void * |
linphone_core_get_native_video_window_id (const LinphoneCore *lc) |
|
void * |
linphone_core_get_native_preview_window_id (const LinphoneCore *lc) |
|
void |
linphone_core_set_native_preview_window_id (LinphoneCore *lc, void *id) |
|
int |
linphone_core_get_device_rotation (LinphoneCore *lc) |
|
void |
linphone_core_set_device_rotation (LinphoneCore *lc, int rotation) |
|
void |
linphone_core_play_dtmf (LinphoneCore *lc, char dtmf, int duration_ms) |
|
void |
linphone_core_stop_dtmf (LinphoneCore *lc) |
|
void |
linphone_core_set_mtu (LinphoneCore *lc, int mtu) |
|
void |
linphone_core_stop_ringing (LinphoneCore *lc) |
|
void |
linphone_core_set_avpf_mode (LinphoneCore *lc, LinphoneAVPFMode mode) |
|
LinphoneAVPFMode |
linphone_core_get_avpf_mode (const LinphoneCore *lc) |
|
int |
linphone_core_get_avpf_rr_interval (const LinphoneCore *lc) |
|
void |
linphone_core_set_avpf_rr_interval (LinphoneCore *lc, int interval) |
|
int |
linphone_payload_type_get_type (const LinphonePayloadType *pt) |
|
int |
linphone_payload_type_get_normal_bitrate (const LinphonePayloadType *pt) |
|
const char * |
linphone_payload_type_get_mime_type (const LinphonePayloadType *pt) |
|
int |
linphone_payload_type_get_channels (const LinphonePayloadType *pt) |
|
const char * |
linphone_media_encryption_to_string (LinphoneMediaEncryption menc) |
|
void * |
linphone_call_get_native_video_window_id (const LinphoneCall *call) |
|
void |
linphone_call_set_native_video_window_id (LinphoneCall *call, void *id) |
|
void |
linphone_call_enable_echo_cancellation (LinphoneCall *call, bool_t val) |
|
bool_t |
linphone_call_echo_cancellation_enabled (LinphoneCall *lc) |
|
void |
linphone_call_enable_echo_limiter (LinphoneCall *call, bool_t val) |
|
bool_t |
linphone_call_echo_limiter_enabled (const LinphoneCall *call) |
|
MS2_DEPRECATED void |
linphone_core_send_dtmf (LinphoneCore *lc, char dtmf) |
|
void |
linphone_core_set_download_bandwidth (LinphoneCore *lc, int bw) |
|
void |
linphone_core_set_upload_bandwidth (LinphoneCore *lc, int bw) |
|
int |
linphone_core_get_download_bandwidth (const LinphoneCore *lc) |
|
int |
linphone_core_get_upload_bandwidth (const LinphoneCore *lc) |
|
void |
linphone_core_enable_adaptive_rate_control (LinphoneCore *lc, bool_t enabled) |
|
bool_t |
linphone_core_adaptive_rate_control_enabled (const LinphoneCore *lc) |
|
void |
linphone_core_set_adaptive_rate_algorithm (LinphoneCore *lc, const char *algorithm) |
|
const char * |
linphone_core_get_adaptive_rate_algorithm (const LinphoneCore *lc) |
|
void |
linphone_core_set_download_ptime (LinphoneCore *lc, int ptime) |
|
int |
linphone_core_get_download_ptime (LinphoneCore *lc) |
|
void |
linphone_core_set_upload_ptime (LinphoneCore *lc, int ptime) |
|
int |
linphone_core_get_upload_ptime (LinphoneCore *lc) |
|
void |
linphone_core_set_sip_transport_timeout (LinphoneCore *lc, int timeout_ms) |
|
int |
linphone_core_get_sip_transport_timeout (LinphoneCore *lc) |
|
void |
linphone_core_enable_dns_srv (LinphoneCore *lc, bool_t enable) |
|
bool_t |
linphone_core_dns_srv_enabled (const LinphoneCore *lc) |
|
void |
linphone_core_enable_dns_search (LinphoneCore *lc, bool_t enable) |
|
bool_t |
linphone_core_dns_search_enabled (const LinphoneCore *lc) |
|
void |
linphone_core_set_dns_servers (LinphoneCore *lc, const bctbx_list_t *servers) |
|
const bctbx_list_t * |
linphone_core_get_audio_codecs (const LinphoneCore *lc) |
|
const bctbx_list_t * |
linphone_core_get_video_codecs (const LinphoneCore *lc) |
|
const bctbx_list_t * |
linphone_core_get_text_codecs (const LinphoneCore *lc) |
|
bool_t |
linphone_core_payload_type_enabled (LinphoneCore *lc, const LinphonePayloadType *pt) |
|
bool_t |
linphone_core_payload_type_is_vbr (LinphoneCore *lc, const LinphonePayloadType *pt) |
|
void |
linphone_core_set_payload_type_bitrate (LinphoneCore *lc, LinphonePayloadType *pt, int bitrate) |
|
int |
linphone_core_get_payload_type_bitrate (LinphoneCore *lc, const LinphonePayloadType *pt) |
|
int |
linphone_core_enable_payload_type (LinphoneCore *lc, LinphonePayloadType *pt, bool_t enable) |
|
LinphonePayloadType * |
linphone_core_find_payload_type (LinphoneCore *lc, const char *type, int rate, int channels) |
|
int |
linphone_core_get_payload_type_number (LinphoneCore *lc, const PayloadType *pt) |
|
void |
linphone_core_set_payload_type_number (LinphoneCore *lc, PayloadType *pt, int number) |
|
void |
linphone_core_enable_audio_adaptive_jittcomp (LinphoneCore *lc, bool_t enable) |
|
bool_t |
linphone_core_audio_adaptive_jittcomp_enabled (LinphoneCore *lc) |
|
void |
linphone_core_set_audio_jittcomp (LinphoneCore *lc, int milliseconds) |
|
void |
linphone_core_enable_video_adaptive_jittcomp (LinphoneCore *lc, bool_t enable) |
|
bool_t |
linphone_core_video_adaptive_jittcomp_enabled (LinphoneCore *lc) |
|
void |
linphone_core_set_video_jittcomp (LinphoneCore *lc, int milliseconds) |
|
void |
linphone_core_reload_sound_devices (LinphoneCore *lc) |
|
void |
linphone_core_set_remote_ringback_tone (LinphoneCore *lc, const char *ring) |
|
const char * |
linphone_core_get_remote_ringback_tone (const LinphoneCore *lc) |
|
void |
linphone_core_set_ring_during_incoming_early_media (LinphoneCore *lc, bool_t enable) |
|
void |
linphone_core_enable_echo_limiter (LinphoneCore *lc, bool_t val) |
|
bool_t |
linphone_core_echo_limiter_enabled (const LinphoneCore *lc) |
|
void |
linphone_core_enable_mic (LinphoneCore *lc, bool_t enable) |
|
bool_t |
linphone_core_mic_enabled (LinphoneCore *lc) |
|
MS2_DEPRECATED void |
linphone_core_enable_video (LinphoneCore *lc, bool_t vcap_enabled, bool_t display_enabled) |
|
bool_t |
linphone_core_video_enabled (LinphoneCore *lc) |
|
void |
linphone_core_enable_video_capture (LinphoneCore *lc, bool_t enable) |
|
void |
linphone_core_enable_video_display (LinphoneCore *lc, bool_t enable) |
|
void |
linphone_core_enable_video_source_reuse (LinphoneCore *lc, bool_t enable) |
|
bool_t |
linphone_core_video_capture_enabled (LinphoneCore *lc) |
|
bool_t |
linphone_core_video_display_enabled (LinphoneCore *lc) |
|
const MSVideoSizeDef * |
linphone_core_get_supported_video_sizes (LinphoneCore *lc) |
|
void |
linphone_core_set_preferred_video_size (LinphoneCore *lc, MSVideoSize vsize) |
|
void |
linphone_core_set_preview_video_size (LinphoneCore *lc, MSVideoSize vsize) |
|
void |
linphone_core_set_preview_video_size_by_name (LinphoneCore *lc, const char *name) |
|
MSVideoSize |
linphone_core_get_preview_video_size (const LinphoneCore *lc) |
|
MSVideoSize |
linphone_core_get_current_preview_video_size (const LinphoneCore *lc) |
|
MSVideoSize |
linphone_core_get_preferred_video_size (const LinphoneCore *lc) |
|
void |
linphone_core_set_preferred_video_size_by_name (LinphoneCore *lc, const char *name) |
|
void |
linphone_core_set_preferred_framerate (LinphoneCore *lc, float fps) |
|
float |
linphone_core_get_preferred_framerate (LinphoneCore *lc) |
|
void |
linphone_core_reload_video_devices (LinphoneCore *lc) |
|
int |
linphone_core_set_static_picture (LinphoneCore *lc, const char *path) |
|
const char * |
linphone_core_get_static_picture (LinphoneCore *lc) |
|
int |
linphone_core_set_static_picture_fps (LinphoneCore *lc, float fps) |
|
float |
linphone_core_get_static_picture_fps (LinphoneCore *lc) |
|
void |
linphone_core_set_native_video_window_id (LinphoneCore *lc, void *id) |
|
void |
linphone_core_use_preview_window (LinphoneCore *lc, bool_t yesno) |
|
void |
linphone_core_set_use_files (LinphoneCore *lc, bool_t yesno) |
|
bool_t |
linphone_core_get_use_files (LinphoneCore *lc) |
|
const char * |
linphone_core_get_play_file (const LinphoneCore *lc) |
|
void |
linphone_core_set_play_file (LinphoneCore *lc, const char *file) |
|
const char * |
linphone_core_get_record_file (const LinphoneCore *lc) |
|
void |
linphone_core_set_record_file (LinphoneCore *lc, const char *file) |
|
int |
linphone_core_set_media_encryption (LinphoneCore *lc, LinphoneMediaEncryption menc) |
|
LinphoneMediaEncryption |
linphone_core_get_media_encryption (LinphoneCore *lc) |
|
bool_t |
linphone_core_is_media_encryption_mandatory (LinphoneCore *lc) |
|
void |
linphone_core_set_media_encryption_mandatory (LinphoneCore *lc, bool_t m) |
|
const char ** |
linphone_core_get_supported_file_formats (LinphoneCore *core) |
|
int |
linphone_core_set_audio_multicast_addr (LinphoneCore *core, const char *ip) |
|
int |
linphone_core_set_video_multicast_addr (LinphoneCore *lc, const char *ip) |
|
const char * |
linphone_core_get_audio_multicast_addr (const LinphoneCore *core) |
|
const char * |
linphone_core_get_video_multicast_addr (const LinphoneCore *core) |
|
int |
linphone_core_set_audio_multicast_ttl (LinphoneCore *core, int ttl) |
|
int |
linphone_core_set_video_multicast_ttl (LinphoneCore *lc, int ttl) |
|
int |
linphone_core_get_audio_multicast_ttl (const LinphoneCore *core) |
|
int |
linphone_core_get_video_multicast_ttl (const LinphoneCore *core) |
|
void |
linphone_core_enable_audio_multicast (LinphoneCore *core, bool_t yesno) |
|
bool_t |
linphone_core_audio_multicast_enabled (const LinphoneCore *core) |
|
void |
linphone_core_enable_video_multicast (LinphoneCore *core, bool_t yesno) |
|
bool_t |
linphone_core_video_multicast_enabled (const LinphoneCore *core) |
|
int |
linphone_core_set_network_simulator_params (LinphoneCore *lc, const OrtpNetworkSimulatorParams *params) |
|
const OrtpNetworkSimulatorParams * |
linphone_core_get_network_simulator_params (const LinphoneCore *lc) |
|
void |
linphone_core_set_video_preset (LinphoneCore *lc, const char *preset) |
|
const char * |
linphone_core_get_video_preset (const LinphoneCore *lc) |
|
bool_t |
linphone_core_realtime_text_enabled (LinphoneCore *lc) |
|
MS2_DEPRECATED LinphoneCallParams * |
linphone_core_create_default_call_parameters (LinphoneCore *lc) |
|
void |
linphone_core_set_video_display_filter (LinphoneCore *lc, const char *filter_name) |
|
const char * |
linphone_core_get_video_display_filter (LinphoneCore *lc) |
详细说明
多路广播
电话使用rtp多播地址对音频和视频的支持都有一些局限性.局限性包括没有stun,没有ICE,没有加密.
- 多播地址的来电被自动接受.被叫方转向媒体仅接受模式.
- 呼叫想发送媒体到多路地址,可以激活多播功能通过linphone_core_enable_video_multicast或linphone_core_enable_audio_multicast.主叫方变为媒体仅发送模式.
宏定义文档
#define LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS -1
通配符的值,在搜索算法中,被用于设置linphone_core_find_payload_type来忽略频道
#define LINPHONE_FIND_PAYLOAD_IGNORE_RATE -1
通配符的值,在搜索算法中,被用于设置linphone_core_find_payload_type来忽略比率
#define LINPHONE_VIDEO_DISPLAY_AUTO (void*)((unsigned long) 0)
MacOS、Linux、Windows:核心会自动创建自己视频窗口
#define LINPHONE_VIDEO_DISPLAY_NONE (void*)((unsigned long)-1)
MacOS、Linux、Windows:不打开视频窗口
自定义文档
typedef enum _LinphoneAVPFMode LinphoneAVPFMode
枚举描述RTP AVPF激活模式
typedef enum _LinphoneMediaEncryption LinphoneMediaEncryption
枚举描述媒体加密类型
typedef PayloadType LinphonePayloadType
代表一个RTP载荷类型的对象
typedef struct _LinphoneVideoPolicy LinphoneVideoPolicy
结构体描述关于视频流的编制方针
枚举类型的文档
enum _LinphoneAVPFMode
枚举描述RTP AVPF激活类型
枚举常量
LinphoneAVPFDefault 使用默认值定义在上层
LinphoneAVPFDisabled AVPF不可用
LinphoneAVPFEnabled AVPF可用
enum _LinphoneMediaEncryption
枚举描述媒体加密类型
枚举常量
LinphoneMediaEncryptionNone 没有用任何媒体加密
LinphoneMediaEncryptionSRTP 使用SRTP媒体加密技术
LinphoneMediaEncryptionZRTP 使用ZRTP媒体加密技术
LinphoneMediaEncryptionDTLS 使用DTLS媒体加密技术
函数文档
bool_t linphone_call_echo_cancellation_enabled(LinphoneCall* lc)
如果启用了回音消除,返回TRUE.
bool_t linphone_call_echo_limiter_enabled(const LinphoneCall* call)
如果启用了回音抑制,返回TRUE.
void linphone_call_enable_echo_cancellation(LinphoneCall* call, bool_t val)
启用或禁用回音消除,针对指定通话
参数 call LinphoneCall对象 val 布尔值
void linphone_call_enable_echo_limiter(LinphoneCall* call, bool_t val)
启用或禁用回音抑制,针对指定通话
参数 call LinphoneCall对象 val布尔值
void* linphone_call_get_native_video_window_id(const LinphoneCall* call)
获取本地视频窗口的窗口句柄,转化为无符号长整型
void linphone_call_params_add_custom_sdp_attribute(LinphoneCallParams* params, const char* attribute_name, const char* attribute_value)
在SDP中添加一个与所有流相关的自定义属性,在通话期间和SIP消息交换.
参数
[in]params 添加自定义SDP属性的 LinphoneCallParams 对象
[in]attribute_name 需要添加属性的名字
[in]attribute_value 需要添加属性的值
void linphone_call_params_add_custom_sdp_media_attribute(LinphoneCallParams* params, LinphoneStreamType type, const char* attribute_name, const char* attribute_value)
在SDP中添加一个与特定流相关的自定义属性,在通话期间和SIP消息交换
参数
[in]params 添加自定义SDP属性的LinphoneCallParams对象
[in]type 需要添加自定义SDP属性的媒体流类型
[in]attribute_name 需要添加属性的名字
[in]attribute_value 需要添加属性的值
bool_t linphone_call_params_audio_multicat_enabled(const LinphoneCallParams* param)
用来获取音频流的多播状态
参数
params LinphoneCallParams
返回
如果后续的通话提出多播IP地址(由linphone_core_set_audio_multicast_addr设置的)
void linphone_call_params_clear_custom_sdp_attributes(LinphoneCallParams* params)
清除与所有流相关的自定义SDP属性
参数
[in] 清除params LinphoneCallParams中的自定义SDP属性
void linphone_call_params_clear_custom_sdp_media_attributes(LinphoneCallParams* params, LinphoneStreamType type)
清除与特定流有关的自定义SDP属性
参数
[in] params LinphoneCallParams对象,清除其中的自定义SDP属性
[in] type 需要清楚自定义SDP属性的流的类型
void linphone_call_params_enable_audio_multicast(LinphoneCallParams* params, bool_t yesno)
启用音频流的多播rtp
如果启用,呼出电话提交一个多播地址(可由linphone_core_get_video_multicast_addr获取)到音频cline. 如果呼出电话的音频流被发送到这个多播地址.
对于来电的处理不变。
参数
params LinphoneCallParams对象
yesno 如果为yes,后续的通话会提出多播IP地址(由linphone_core_set_audio_multicast_addr设置的)
int linphone_call_params_enable_realtime_text(LinphoneCallParams* params, bool_t yesno)
启用实时文本依据rfc4103.如果启用,呼出电话在SDP描述中设置一行 m=text
参数
params LinphoneCallParams对象
yesno 如果为yes,后续的呼出通话支持实时文本
void linphone_call_params_enable_video_multicast(LinphoneCallParams* params, bool_t yesno)
启用视频流的多播rtp.如果启用,呼出电话提交一个多播地址(由linphone_core_get_video_multicast_addr)到
video cline.如果呼出电话视频流被发送到这个多播地址.
对于来电的处理不变
参数
params LinphoneCallParams对象
yesno 如果为yes,后续的呼出电话会提出多播IP(由linphone_core_set_video_multicast_addr设置的)
const char* linphone_call_params_get_custom_sdp_attribute(const LinphoneCallParams* params, const char* attribute_name)
获取一个自定义SDP属性,与所有流相关.
参数
[in] params LinphoneCallParams对象,从其中获取自定义的SDP属性
[in]attribute_name 需要获取的属性的名字
返回
属性的内容,如果没有找到返回NULL
const char* linphone_call_params_get_cunstom_sdp_media_attribute(const LinphoneCallParams* params, LinphoneStreamType type, const char* attribute_name)
获取一个自定义的SDP属性,与某个特定的流相关
参数
[in] params LinphoneCallParams对象,从其中获取自定义SDP属性
[in] type 流类型
[in] attribute_name 需要获取属性的名字
返回
属性内容,如果没找到返回NULL.
bool_t linphone_call_params_realting_text_enabled(const LinphoneCallParams* param)
判断是否支持实时文本
参数
params LinphoneCallParams 对象
返回
如果通话实时文本激活,返回TRUE.
bool_t linphone_call_params_video_multicast_enabled(const LinphoneCallParams* params)
判断是否支持视频多播
参数
params LinphoneCallParams对象
返回
如果后续通话会提出多播IP(由linphone_core_set_video_multicast_addr设置),返回true.
void linphone_call_set_native_video_window_id(LinphoneCall* call, void* id)
设置本地视频窗口id.Macos,Linux,Windows: 如果不设置或0,会自动创建窗口,除非设置特殊ID-1.
bool_t linphone_core_adaptive_rate_control_enabled(const LinphoneCore* lc)
判断是否启用自适应码率控制
参见 linphone_core_enable_adaptive_rate_control()
bool_t linphone_core_audio_adaptive_jittcomp_enabled(LinphoneCore* lc)
判断是否启用音频自适应抖动补偿
参数
[in] lc LinphoneCore对象
返回
如果音频自适应抖动补偿已启用,返回TRUE,否则返回FALSE
bool_t linphone_core_audio_multicast_enabled(const LinphoneCore* core)
判断是否启用音频多播
参数
[in]lc LinphoneCore对象
MS2_DEPRECATED LinphoneCallParams* linphone_core_create_default_call_parameters(LinphoneCore* lc)
获取通话参数反映当前liphone核心配置
参数
lc LinphoneCore对象
返回
LinphoneCallParams对象
已弃用
用 linphone_core_create_call_params()代替
bool_t linphone_core_dns_search_enabled(const LinphoneCore* lc)
判断是否DNS搜索(如果完全限定名称,使用本地域,并返回结果)可用
参数
lc LinphoneCore对象
返回
如果DNS搜索可用返回TRUE,如果不可用返回FALSE
bool_t linphone_core_dns_srv_enabled(const LinphoneCore* lc)
判断DNS SRV(服务定位)资源记录是否启用
参数
[in] lc LinphoneCore对象
返回
如果DNS SRV启用返回TRUE,如果弃用返回FALSE
bool_t linphone_core_echo_cancellation_enabled(LinphoneCore* lc)
如果回音消除已启用返回TRUE
bool_t linphone_core_echo_limiter_enabled(const LinphoneCore* lc)
判断回音抑制是否启用
参数
[in]lc LinphoneCore 对象
返回
如果回音抑制可用返回TRUE,否则返回FALSE
void linphone_core_enable_adaptive_rate_control(LinphoneCore* lc, bool_t enabled)
启用自适应码率控制
自适应码率控制包含使用RTCP反馈提供的消息来动态控制音频和视频编码器的输出比特率,这样我们就可以适应网络条件和可用宽带。音频编码器的控制用于仅音频的通话,视频编码器的控制用于音频和视频的通话。自适应码率控制功能默认启用.
void linphone_core_enable_audio_adaptive_jittcomp(LinphoneCore* lc, bool_t enable)
启用和禁用音频自适应抖动补偿
参数
[in]lc LinphoneCore对象
[in]enabled TRUE是启用音频自适应抖动补偿,FALSE是禁用它
void linphone_core_enable_audio_multicast(LinphoneCore* core, bool_t yesno)
启用对音频流的多播RTP
如果启用,拨出电话将一个多播地址(来自linphone_core_get_video_multicast_addr)放进audio cline. 假如拨出电话音频流被发送到这个多播地址.
参数
core LinphoneCore对象
yesno 如果为yes,后续的通话会提出多播IP(由linphone_core_set_audio_multicast_addr设置)
void linphone_core_enable_dns_search(LinphoneCore* lc, bool_t enable)
启用或禁用DNS搜索(如果完全限定名称,就用本地域来返回结果)
参数
[in] lc LinphoneCore对象
[in]enable TRUE是启用DNS搜索,FALSE是禁用它
void linphone_core_enable_dns_srv(LinphoneCore* lc, bool_t enable)
启用或禁用DNS SRV(服务定位)资源记录
参数
[in] lc LinphoneCore对象
[in] enable TRUE启用DNS SRV(服务定位)资源记录, FALSE是禁用它
void linphone_core_enable_echo_cancellation(LinphoneCore* lc, bool_t val)
启用或禁用回波消除.值被保存用于后续的通话。这实际上是软件控制回音消除.如果硬件回音抑制可用,它会一直被用于和激活通话,无论是否传递参数给这个函数.当硬件回音消除可用,软件回音消除不会激活.
void linphone_core_enable_echo_limiter(LinphoneCore* lc, bool_t val)
启用或禁用回音抑制
参数
[in]lc LinphoneCore对象
[in]val TRUE是启用回音抑制,FALSE是禁用它
void linphone_core_enable_mic(LinphoneCore* lc, bool_t enable)
启用或禁用麦克风
参数
[in]lc LinphoneCore 对象
[in]enable TRUE是启用麦克风,FALSE是禁用它
int linphone_core_enable_payload_type(LinphoneCore* lc, LinphonePayloadType* pt, bool_t enable)
启用或禁用特定的载荷类型的使用
参数
[in]lc LinphoneCore对象
[in]pt 启用或禁用的LinphonePayloadType,它可以用linphone_core_find_payload_type搜索
[in]enable TRUE是启用载荷类型,FALSE是禁用它
返回
如果成功为,否则返回其他值
void linphone_core_enable_self_view(LinphoneCore* lc, bool_t val)
启用或禁用自我视图在通话中。
自我视图指在通话过程中本地摄像头画面被插入视频窗口的角落,这个函数在任何时候都在工作,包括在通话过程中
MS2_DEPRECATED void linphone_core_enable_video(LinphoneCore* lc, bool_t vcap_enabled, bool_t display_enabled)
全局地启用视频
这个函数在通话过程中不造成任何影响,它仅表明LinponeCore后面会启动视频通话.两个布尔参数表示启用视频的说明,设置为false表示完全禁用视频
参数
lc LinphoneCore对象
vcap_enabled 表明是否启用视频捕捉
display_enabled 表明是否展示视频
已启用
用 linphone_core_enable_video_capture和linphone_core_enable_video_display代替
void linphone_core_enable_video_adaptive_jittcomp(LinphoneCore* lc, bool_t enable)
启用或禁用视频自适应抖动补偿
参数
[in]lc LinphoneCore对象
[in]enable TRUE是启用视频自适应抖动补偿,FALSE是弃用它
void linphone_core_enable_video_capture(LinphoneCore* lc, bool_t enable)
启用或禁用视频捕捉
这个函数在通话过程中不会造成任何影响.它仅表明LinphoneCore在后来是否启用视频捕捉.
参数
[in]lc LinphoneCore对象
[in]enable TRUE是启用视频捕捉,FALSE是禁用它
void linphone_core_enable_video_display(LinphoneCore* lc, bool_t enable)
启用或禁用视频展示
这个函数在通话期间不造成任何影响.它仅表明LinphoneCore后面是否启用视频展示
参数
[in]lc LinphoneCore对象
[in]enable TRUE是启用视频展示,FALSE是禁用它
void linphone_core_enable_video_multicast(LinphoneCore* core, bool_t yesno)
启用对视频流的多播RTP.如果启用,拨出电话将一个多播地址(来着linphone_core_get_video_multicast_addr)放入到video cline中.如果拨出电话视频流被发送到这个多播地址.针对来电处理行为不改变.
参数
core LinphoneCore对象
yesno 如果为yes, 后续的拨出电话会提出多播ip(由linphone_core_set_video_multicast_addr设置)
void linphone_core_enable_video_preview(LinphoneCore* lc, bool_t val)
控制视频预览启动
视频预览表明向用户展示本地摄像头画面,但不是在通话过程中.
void linphone_core_enable_video_source_reuse(LinphoneCore* lc, bool_t enable)
启用或禁用视频源重用当将预览切换到真实的视频通话.
在你一直展示预览的时候,这个源重用是很有用的,甚至在通话启动之前.通过保持视频源来过渡到真正的视频通话,你会平滑源的关闭/重启的周期
这个函数在通话过程中不造成任何影响.它仅表明LinphoneCore是否在后面的通话中启用视频源重用.同时,在通话结束的时候,所有的源被关闭.
参数
[in] lc LinphoneCore对象
[in] enable TRUE启用视频源复用.FALSE表明在后续的通话中禁用它
linphonePayloadType* linphone_core_find_payload_type(LinphoneCore* lc, const char* type, int rate, int channels)
从压缩类型和时钟频率(取样频率??)中获取载荷类型
这个函数在音频和视频编解码器中,针对指定载荷类型名字和时钟频率,查找.
参数
lc LinphoneCore对象
type 载荷压缩类型(I.E SPEEX, PCMU, VP8)
rate 可以是LINPHONE_FIND_PAYLOAD_IGNORE_RATE
channels 通道数,可以是LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS
返回
如果没找到返回NULL
const char* linphone_core_get_adaptive_rate_algorithm(const LinphoneCore* lc)
返回目前配置的自适应码率算法
参见 linphone_core_set_adaptive_rate_algorithm().
const bctbx_list_t* linphone_core_get_audio_codecs(const LinphoneCore* lc)
返回可用的音频编解码器的列表
参数
[in]lc LinphoneCore对象
返回
一个PayloadType对象的链表
这个列表无法改变. bctbx_list_t->data域指向一个PayloadType结构体(包含编解码器的信息).可用复制这个列表通过bctbx_list_copy()来修改它(例如编解码器的顺序).
int linphone_core_get_audio_jittcomp(LinphoneCore* lc)
返回近似的音频抖动缓冲去大小,以毫秒为单位
const char* linphone_core_get_audio_multicast_addr(const LinphoneCore* core)
获取用于音频流的多播地址
参数
core LinphoneCore对象
返回
一个ipv4/6多播地址或默认值
int linphone_core_get_audio_multicast_ttl(const LinphoneCore* core)
获取用于音频流的多播TTL
参数
LinphoneCore对象
LinphoneACPFMode linphone_core_get_acpf_mode(const LinphoneCore* lc)
返回支持的AVPF,参见linphone_core_set_acpf_mode()
参数
lc LinphoneCore对象
返回
avpf支持模式
int linphone_core_get_avpf_rr_interal(const LinphoneCore* lc)
返回avpf报告的时间间隔,以秒为单位
参数
lc LinphoneCore对象
返回
avpf报告时间间隔
const char* linphone_core_get_capture_device(LinphoneCore* lc)
返回当前分配的用于捕获声音的设备的名字
参数
lc LinphoneCore对象
MSVideoSize linphone_core_get_current_preview_video_size(const LinphoneCore* lc)
返回有效的视频大小针对捕获到的视频,由摄像头提供的.当预览不可用或者还没开始时,这个函数返回0
另参见
linphone_core_set_preview_video_size()
参数
lc LinphoneCore对象
返回
一个MSVideoSize对象
int linphone_core_get_device_rotation(LinphoneCore* lc)
返回当前设备定位
int linphone_core_get_download_bandwidth(const LinphoneCore* lc)
获取最大可用的下载带宽.这个值由linphone_core_set_download_bandwidth()设置
int linphone_core_get_mic_gain_db(LinphoneCore* lc)
获取麦克风的增益,单位为分贝(db)
void* linphone_core_get_native_preview_window_id(const LinphoneCore* lc)
返回视频预览窗口的本地窗口句柄,转化为一个无符号的长整型
void* linphone_core_get_native_video_window_id(const LinphoneCore* lc)
返回视频窗口的本地窗口句柄,转化为一个无符号的长整型
const OrtpNetworkSimulatorParams* linphone_core_get_network_simulator_params(const LinphoneCore* lc)
获取当前设置网络仿真参数
另参见
linphone_core_set_network_simulator_params
返回
一个OrtpNetworkSimulatorParams结构体
int linphone_core_get_nortp_timeout(const LinphoneCore* lc)
返回no-rtp超时,用秒为单位
当一段时间内没有收到RTP或RTCP数据包,LinphoneCore会认为通话结束(远端崩溃或网络断开),从而终止通话.no-rtp超时时间是指超过这个时间被认为通话关闭
int linphone_core_get_payload_type_bitrate(LinphoneCore* lc, const LinphonePayloadType* pt)
获取比特率(由linphone_core_set_payload_type_bitrate明确设置的)
参数
[in]lc LinphoneCore对象
[in]pt LinphonePayloadType对象
返回
IP比特率以kbit/s为单位,如果发生错误返回-1
int linphone_core_get_payload_type_number(LinphoneCore* lc, const PayloadType* pt)
返回这个编解码器分配的载荷类型数量
const char* linphone_core_get_play_file(const LinphoneCore* lc)
获取WAV文件,当有人等待的时候播放该文件.或者这个文件被用来代替声卡(参见linphone_core_set_usefiles()).
这个文件为一个16位线性wav文件
参数
[in] lc LinphoneCore对象
返回
在有人等待时播放的wav文件的文件路径
int linphone_core_get_play_level(LinphoneCore* lc)
获取回放声音大小 0-100
已弃用
const char* linphone_core_get_playback_device(LinphoneCore* lc)
返回目前被分配回放的声音设备的名称
参数
lc LinphoneCore参数
float linphone_core_get_playback_gain_db(LinphoneCore* lc)
在进入声卡之前,获取回放的增益,单位为分贝(db)
float linphone_core_get_preferred_framerate(LinphoneCore* lc)
返回首选视频帧率,预先由linphone_core_set_preferred_framerate()设置的.
参数
lc LinphoneCore对象
返回
帧率 f/s
MSVideoSize linphone_core_get_preferred_video_size(const LinphoneCore* lc)
返回当前首选的用于发送的视频大小
MSVideoSize linphone_core_get_preview_video_size(const LinphoneCore* lc)
返回预览视频的大小,如果它由linphone_core_set_preview_video_size()预先设置,否则返回一个0,0大小
另参见
linphone_core_set_preview_video_size()
参数
lc LinphoneCore对象
返回
一个MSVideoSize对象
int linphone_core_get_rec_level(LinphoneCore* lc)
获取声音捕获的音量大小 0-100
已弃用
const char* linphone_core_get_record_file(const LinphoneCore* lc)
获取保存传入流的wav文件,当文件用来代替声卡(见linphone_core_set_use_files()).
这个特性和通话录音不同(linphone_call_params_set_record_file())
这个文件是一个16位的线性wav文件
参数
[in]lc LinphoneCore对象
返回
保存传入流的文件的文件路径
const char* linphone_core_get_remote_ringback_tone(const LinphoneCore* lc)
有来电时,获取传递给远端的铃声回响音调
参数
[in] lc LinphoneCore对象
const char* linphone_core_get_ring(const LinphoneCore* lc)
返回电话铃声的wav文件的路径
参数
lc LinphoneCore对象
int linphone_core_get_ring_level(LinphoneCore* lc)
获取铃声声音大小 0-100
已弃用
const char* linphone_core_get_ringback(const LinphoneCore* lc)
返回回铃声的wav文件的路径
const char* linphone_core_get_ringer_device(LinphoneCore* lc)
返回当前分配用于响铃的声音设备的名称
参数
lc LinphoneCore对象
int linphone_core_get_sip_transport_timeout(LinphoneCore* lc)
获取SIP传输超时
参数
[in] lc LinphoneCore对象
返回
SIP传输超时 用毫秒为单位
const char** linphone_core_get_sound_devices(LinphoneCore* lc)
返回一个不可修改的可用的声音设备的数组
数组为空是终止
参数
lc LinphoneCore对象
const char* linphone_core_get_static_picture(LinphoneCore* lc)
获取图像文件流文件 当“静态图片”被设置为视频设备
参数
[in]lc LinphoneCore对象
返回
静态图片文件保存的路径
float linphone_core_get_static_picture_fps(LinphoneCore* lc)
获取静态图片的帧率
参数
[in]lc LinphoneCore对象
返回
静态图片的帧率
const char** linphone_core_get_supported_file_formats(LinphoneCore* core)
返回一个以NULL结尾的字符串表,其中包括支持电话录音的文件格式扩展
参数
core LinphoneCore对象
返回
支持的文件格式 典型的 ‘wav' 和 ‘mkv’
const MSVideoSizeDef* linphone_core_get_supported_video_sizes(LinphoneCore* lc)
以/0结尾的表 支持的视频分辨率
const bctbx_list_t* linphone_core_get_text_codecs(const LinphoneCore* lc)
返回可用的文本编解码器的列表
参数
[in] lc LinphoneCore对象
返回
一个PayloadType对象的链表
这个列表无法改变. bctbx_list_t->data域指向一个PayloadType结构体(包含编解码器的信息).可用复制这个列表通过bctbx_list_copy()来修改它(例如编解码器的顺序).
int linphone_core_get_upload_bandwidth(const LinphoneCore* lc)
获取最大可用的上传带宽.这个值是由linphone_core_set_upload_bandwidth().
int linphone_core_get_upload_ptime(LinphoneCore* lc)
设置音频分组时间 linphone会发送(在没有peer需求的情况下)一个0值代表当前编解码器默认的分组时间
bool_t linphone_core_get_use_files(LinphoneCore* lc)
判断linphone是否当前媒体流音频是使用文件,而不是用声卡
参数
[in] lc LinphoneCore对象
返回
一个布尔值代表是否linphone的媒体流音频是使用文件
bool_t linphone_core_get_use_info_for_dtmf(LinphoneCore* lc)
表明是否SIP INFO用于发送数字
bool_t linphone_core_get_use_rfc2833_for_dtmf(LinphoneCore* lc)
表明RFC2833是否用于发送数字
const bctbx_list_t* linphone_core_get_video_codecs(const LinphoneCore* lc)
返回可用的视频编码器的列表
参数
[in]lc LinphoneCore对象
返回
一个PayloadType对象的列表
这个列表无法改变. bctbx_list_t->data域指向一个PayloadType结构体(包含编解码器的信息).可用复制这个列表通过bctbx_list_copy()来修改它(例如编解码器的顺序).
const char* linphone_core_get_video_device(const LinphoneCore* lc)
返回当前激活的视频设备的名称
参数
lc LinphoneCore对象
const char** linphone_core_get_video_devices(const LinphoneCore* lc)
返回一个不可修改的数组,包含可用的视频捕捉设备
以NULL结尾的数组
const char* linphone_core_get_video_display_filter(LinphoneCore* lc)
获取mediastreamer2滤波器的名称,用于渲染视频
int linphone_core_get_video_jittcomp(LinphoneCore* lc)
返回大概的视频抖动缓冲大小,用毫秒为单位
const char* linphone_core_get_video_multicast_addr(const LinphoneCore* core)
获取多播地址用于视频流
参数
core LinphoneCore对象
返回
一个ipv4/6多播地址,或默认值
int linphone_core_get_video_multicast_ttl(const LinphoneCore* core)
获取多播TTl值(Time to live)针对视频流的
参数
core LinphoneCore对象
返回
多播存活时间
const LinphoneVideoPolicy* linphone_core_get_video_policy(const LinphoneCore* lc)
获取视频默认的策略.详细参见linphone_core_set_video_policy()
const char* linphone_core_get_video_preset(const LinphoneCore* lc)
获取视频预设用于视频通话
参数
[in] lc LinphoneCore对象
返回
视频预设的名字用于视频通话(可能为NULL,如果默认视频使用预设)
bool_t linphone_core_is_media_encryption_mandatory(LinphoneCore* lc)
获取在加密参数协商失败时,呼出电话的处理行为
参数
[in]lc LinphoneCore对象
返回
TRUE意味着通话失败;FALSE意味着一个INVITE会重发(不加密)
bool_t linphone_core_mic_enabled(LinphoneCore* lc)
判断麦克风是否可用
参数
[in]lc LinphoneCore对象
返回
如果麦克风可用返回TRUE,如果不可用返回FALSE
bool_t linphone_core_payload_type_enabled(LinphoneCore* lc, const LinphonePayloadType* pt)
判断某个特定饿载荷类型可用
参数
[in]lc LinphoneCore对象
[in]pt 我们想知道是否启用的LinphonePayladType对象
返回
如果载荷类型可用就返回TRUE,如果不可用就返回FALSE
bool_t linphone_core_payload_type_is_vbr(LinphoneCore* lc, const LinphonePayloadType* pt)
判断指定的载荷类型是否代表一个可变比特率的编解码器
参数
[in]lc LinphoneCore对象
[in]pt 上面所说的指定LinphonePayloadType对象
返回
如果载荷类型代表一个VBR编解码器返回TRUE,如果不可用就返回FALSE
void linphone_core_play_dtmf(LinphoneCore* lc, char dtmf, int duration_ms)
展示一个dtmf拨号声给本地用户
参数
lc LinphoneCore
dtmf DTMF字符串 ['0'..'16'] | '#'| '#'
duration_ms 持续时间(毫秒),-1表示一直响直到下一个通话调用linphone_core_stop_dtmf()才停止
bool_t linphone_core_realtime_text_enabled(LinphoneCore* lc)
判断实时文本是否可用
参数
[in]lc LinphoneCore 对象
返回
如果实时文本可用返回TRUE,否则返回FALSE
void linphone_core_reload_sound_devices(LinphoneCore* lc)
声音设备的更新检测
当应用程序收到USP插入事件调用这个函数,这样就更新声音回放和捕获的可用硬件列表
参数
[in]lc LinphoneCore对象
void linphone_core_reload_video_devices(LinphoneCore* lc)
摄像头设备的更新检测
当应用程序收到USP插入事件调用这个函数,这样就更新视频捕获的可用硬件列表
bool_t linphone_core_self_view_enabled(const LinphoneCore* lc)
如果自我视图可用返回TRUE,否则返回FALSE
详情参考linphone_core_enable_self_view()
MS2_DEPRECATED void linphone_core_send_dtmf(LinphoneCore* lc, char dtmf)
发送指定的dtmf
已弃用:
用linphone_call_send_dtmf代替.这个函数只工作在通话期间。dtmf自动拨打给用户
参数
lc LinphoneCore对象
dtmf 指定的dtmf名字,一个字符串,例如‘0’,‘#’等...
void linphone_core_set_adaptive_rate_algorithm(LinphoneCore* lc, const char* algorithm)
设置自适应码率算法。它将用于每一个从当前开始的通话.通话已经开始的不会被更新.
int linphone_core_set_audio_codecs(LinphoneCore* lc,bctbx_list_t* codecs)
设置音频编解码器列表
参数
[in] lc LinphoneCore对象
[in] codecs 一个PayloadType对象列表
返回
0
LinphoneCore返回的列表,应用程序不应该释放它,这个列表由描述编码参数的结构体组成
void linphone_core_set_audio_jittcomp(LinphoneCore* lc, int milliseconds)
设置大概的视频抖动缓冲大小 用毫秒作单位.对于运行和等待电话,这个值立即生效,如果有的话.0值表示禁用抖动缓冲
int linphone_core_set_audio_multicast_addr(LinphoneCore* core, const char* ip)
设置多播地址用于音频流
参数
core LinphoneCore
ip 一个ipv4/6多播地址
返回
如果成功返回0
int linphone_core_set_audio_multicast_ttl(LinphoneCore* core, int ttl)
设置多播TTL(存活时间)用于音频流
参数
core LinphoneCore对象
ttl 存活时间,或者-1表示不用.[0..255]默认值为1
返回
如果成功返回0
void linphone_core_set_audio_port_range(LinphoneCore* lc, int min_port, int max_port)
设置UDP端口范围,从用于用于音频流的端口中随机选择.
void linphone_core_set_avpf_mode(LinphoneCore* lc, LinphoneAVPFMode mode)
启用RTCP反馈(也称为RTP/AVRF概要文件).设置LinphoneAVPFDefault相当于LinphoneAVPFDisabled.这个设置可以覆盖,每当用linphone_proxy_config_set_avpf_mode()设置LinphoneProxyConfig对象.这个值设置被用于电话拨打或者接受(没有任何代理配置),或如如果这个代理用LinphoneAVPFDefault配置.
参数
lc LinphoneCore对象
mode LinphoneAVPFMode对象
void linphone_core_set_avpf_rr_interval(LinphoneCore* lc, int interval)
设置avpf报告时间间隔,用秒为单位.这个值可能被覆盖,由代理配置调用linphone_proxy_config_set_avpf_rr_interval()
参数
lc LinphoneCore对象
interval 时间间隔 用秒为单位
int linphone_core_set_capture_device(LinphoneCore* lc, const char* devid)
设置用于声音捕获的声音设备
参数
lc LinphoneCore对象
devid 设备名字,由linphone_core_get_sound_devices()返回的
void linphone_core_set_device_rotation(LinphoneCore* lc, int rotation)
告诉linphone内核,设备当前位置(方向,定位).这可以被手机设备上的捕捉过滤器用来选择肖像/横向模式,和正确地生成定向的图片.
这个值的在旋转中的确切含义由每个设备具体表现来决定.
参数
lc LinphoneCore对象
rotation IOS支持UIInterfaceOrientationPortrait为0和UIInterfaceOrientationLandscapeRight为270.
void linphone_core_set_dns_servers(LinphoneCore* lc, const bctbx_list_t* servers)
强制liblinphone使用dns服务器提供的列表,代替系统的dns服务器
参数
[in] lc LinphoneCore对象
[in] servers bctbx_list_t中的字符串包含了DNS服务器的IP地址.设置为NULL恢复默认的设置.就是用系统提供的DNS服务器列表。该列表内部复制.
void linphone_core_set_download_bandwidth(LinphoneCore* lc, int bw)
设置最大可用的下载带宽,这是IP带宽,用kbit/s 为单位.这个信息被用来通知通话的另一方(通过SDP消息) ,以便远端有足够的了解来正确地配置它的音频和视频编解码器输出比特率,防止溢出可用带宽
参数
lc LinphoneCore对象
bw 带宽,用kbit/s为单位,0表示不限带宽
void linphone_core_set_download_ptime(LinphoneCore* lc, int ptime)
设置音频分组时间,linphone期望收到来着peer的. 0表示ptime不限定
int linphone_core_set_media_encryption(LinphoneCore* lc, LinphoneMediaEncryption menc)
选择媒体加密策略用于RTP封包
参数
[in] lc LinphoneCore对象
[in] menc 媒体加密策略
返回
如果成功返回0,否则返回其他值
void linphone_core_set_media_encryption_mandatory(LinphoneCore* lc, bool_t m)
定义处理行为,当在呼出电话上加密参数协商失败时.
参数
[in] lc LinphoneCore对象
[in] m 如果设置为TRUE 通话会失败;如果设置FALSE,会重发没有加密的INVITE
void linphone_core_set_mic_gain_db(LinphoneCore* lc, float gaindb)
允许控制麦克风音量大小:增益 分贝(db)为单位
void linphone_core_set_mtu(LinphoneCore* lc, int mtu)
设置最大的传输单元大小,以字节为单位.这个参数用于发送RTP数据包.默认值为1500.
void linphone_core_set_native_preview_window_id(LinphoneCore* lc, void* id)
设置本地窗口id,在该窗口中预览视频(本地的摄像头)被展示. 这个函数与linphone_core_use_preview_window一起使用.对于MacOS,Linux,Windows:如果不设置或者为0,会创建它自己的窗口,除非设置-1.
void linphone_core_set_native_video_window_id(LinphoneCore* lc, void* id)
设置本地视频窗口id,在该窗口中视频被展示.对于MacOS, Linux,Windows:如果不设置或者为LINPHONE_VIDEO_DISPLAY_AUTO,核心会创建它自己的窗口,除非指定特殊的id:LINPHONE_VIDEO_DISPLAY_NONE.
int linphone_core_set_network_simulator_params(LinphoneCore* lc, const OrtpNetworkSimulatorParam* params)
设置网络仿真参数.Linphone有模拟网络影响(延迟、丢包、抖动、最大带宽)的能力.请参阅oRTP文档OrtpNetworkSimulatorParams结构的参数的意义.这个函数对后面的通话有作用,但对当前正在通话的电话有影响,尽管这个情况会被改变在未来的版本中.
警告
由于oRTP中网络模拟的设计,在音频流和视频流中,模拟被独立地应用.这意味着,例如250kbit/s的带宽限制会不影响以40kbit/s传输的音频流,而一个视频流设置为400kbit/s会被高度影响.
参数
lc LinphoneCore对象
params 网络仿真参数
void linphone_core_set_nortp_timeout(LinphoneCore* lc, int nortp_timeout)
设置 no-rtp超时,单位为秒
详情参见linphone_core_get_nortp_timeout()
void linphone_core_set_payload_type_bitrate(LinphoneCore* lc, LinphonePayloadType* pt, int bitrate)
为指定的编解码器,设置明确的比特率(IP比特率,而不是编码比特率),单位为kbit/s.
参数
[in]lc LinphoneCore对象
[in]pt 需要修改的LinphonePayloadType
[in]bitrate IP比特率,单位为kbit/s
void linphone_core_set_payload_type_number(LinphoneCore* lc, PayloadType pt, int number)
强制一个数字给载荷类型.LinphoneCore自动分配载荷类型编号.这个函数被用来测试,为了覆盖自动分配机制
void linphone_core_set_play_file(LinphoneCore* lc, const char* file)
设置一个wav文件,在有人在等待或者文件被用于代替声卡(参见linphone_core_set_use_files())播放.
这个文件必须为一个16位线性wav文件
参数
[in] lc LinphoneCore对象
[in]file wav文件路径
void linphone_core_set_play_level(LinphoneCore* lc, int level)
设置声音回放的音量 0-100
已弃用:
int linphone_core_set_playback_device(LinphoneCore* lc, const char* devid)
设置用于回放的声音设备
参数
lc LinphoneCore对象
devid 由linphone_core_get_sound_devices()返回设备名字
void linphone_core_set_playback_gain_db(LinphoneCore* lc, float gaindb)
在进入声卡之前,运行控制回放的音量:增益, 分贝为单位
void linphone_core_set_preferred_framerate(LinphoneCore* lc, float fps)
设置首选视频的帧率.基于可用带宽约束和网络条件,视频编码器依然可以自由降低帧率。在通话中,这不保证首选的帧率就是实际的帧率。默认值为0,这意味着“使用编码器的默认fps值”.
视频编码器帧率保持自由来降低帧率
参数
lc LinphoneCore对象
fps 目标帧率 f/s
void linphone_core_set_preferred_video_size(LinphoneCore* lc, MSVideoSize vsize)
设置首先的视频大小
这个只适用于捕获的流并发送到远端,因为在接收路径上我们接受所有标准视频大小.
void linphone_core_set_preferred_video_size_by_name(LinphoneCore* lc, const char* name)
设置首选的视频大小,通过它的名字.
这个函数和linphone_core_set_preferred_video_size()是相同的,而它是需要视频分辨率的名字作为输入.视频分辨率名称:qcif svga, cif,vga,4 cif,svga....
void linphone_core_set_preview_video_size(LinphoneCore* lc, MSVideoSize vsize)
设置视频预览的视频大小.这个方法是一个高级用法,在通话过程中,视频捕获的实际发送流的大小必须独立设置.例如运行有高清分辨率的预览窗口,即使带宽约束发送视频的大小很小. 使用这个特性增加了CPU的消耗,因为尺度改变在内部完成.
参数
lc LinphoneCore对象
vsize 捕获和预览的视频分辨率.它可以是(0,0)不要求任何具体预览大小,让核心优化处理
void linphone_core_set_preview_video_size_by_name(LinphoneCore* lc, const char* name)
设置预览视频大小,通过名字.了解该特性的更多信息参见linphone_core_set_preview_video_size()
视频分辨率名字有:qcif, svga, cif ,vga, 4cif, svga...
void linphone_core_set_rec_level(LinphoneCore* lc, int level)
设置捕获声音的音量 0-100
已弃用
void linphone_core_set_record_file(LinphoneCore* lc, const char* file)
设置一个wav文件,用于保存输入流.当文件被用来代替声卡(参见linphone_core_set_files())
这个特性不同于通话录音(linphone_call_params_set_record_file()),该文件被保存
位线性wav文件
参数
[in] lc LinphoneCore对象
[in] file 保存输入流的文件路径
void linphone_core_set_remote_ringback_tone(LinphoneCore* lc, const char* ring)
有来电时,指定一个回铃声播放给远端
参数
[in] lc LinphoneCore对象
[in] ring 用于播放回铃声音调的文件路径
void linphone_core_set_ring(LinphoneCore* lc, const char* path)
设置一个wav文件路径用于铃声
参数
lc LinphoneCore对象
path 文件必须为wav 16位线性的文件.如果为NULL,禁用本地铃声
void linphone_core_set_ring_during_incoming_early_media(LinphoneCore* lc, bool_t enable)
启用或禁用铃声 在一个早期媒体来电中
参数
[in] lc LinphoneCore对象
[in] enable 一个布尔值,表明是否启用铃声
void linphone_core_set_ring_level(LinphoneCore* lc, int level)
设置铃声的音量 0-100
已弃用
void linphone_core_set_ringback(LinphoneCore* lc, const char* path)
设置一个wav文件路径,用于回铃声
回铃声指的是当远端响铃的时候,本地也可以听到铃声.这个文件必须为wav 16位线性文件
int linphone_core_set_ringer_device(LinphoneCore* lc, const char* devid)
设置声音设置,用于铃声.
参数
lc LinphoneCore对象
devid 由linphone_core_get_sound_devices() 返回的设备名字
void linphone_core_set_sip_transport_timeout(LinphoneCore* lc, int timeout_ms)
设置SIP传输超时
参数
[in] lc LinphoneCore对象
[in] timeout_ms SIP 传输超时 单位毫秒
void linphone_core_set_static_picture(LinphoneCore* lc, const char* path)
参数
设置图像文件的路径,当“静态图片”被设置为视频设备
int linphone_core_set_static_picture_fps(LinphoneCore* lc, float fps)
设置静态图片的帧率
参数
[in] lc LinphoneCore对象
[in] fps 新的帧率,用静态图片
void linphone_core_set_text_port_range(LinphoneCore* lc, int min_port, int max_port)
设置随机选择端口的UDP端口范围用于文本流。
void linphone_core_set_upload_bandwidth(LinphoneCore* lc, int bw)
设置最大有效的上传带宽,这是IP带宽,kbit/s为单位.liblinphone用个信息和远端的标记在SDP消息的可用带宽 一起正确地配置音频和视频编解码器的输入比特率.
参数
lc LinphoneCore对象
bw 带宽(kbits/s),0表示不限
void linphone_core_set_upload_ptime(LinphoneCore* lc, int ptime)
设置音频分组时间,linphone会发送(在没有来着perr的请求)0值表示当前编解码器的默认分组时间.
void linphone_core_set_use_files(LinphoneCore* lc, bool_t yesno)
要求核心对文件进行音频流的写入和读出,而不是使用声卡.
参数
[in] lc LinphoneCore对象
[in] yesno 一个布尔值
void linphone_core_set_use_info_for_dtmf(LinphoneCore* lc, bool_t use_info)
设置是否SIP INFO 被用来发送数字
void linphone_core_set_use_rfc2833_for_dtmf(LinphoneCore* lc, bool_t use_rfc2833)
设置是否RFC2833被用来发送数字
int linphone_core_set_video_codecs(LinphoneCore* lc, bctbx_list* codecs)
设置视频编解码器列表
参数
[in] lc LinphoneCore对象
[in] codecs 一个PayloadType对象链表
返回
0
这个列表由LinphoneCore创建,因此应用程序不应该释放它,这个列表由描述编解码器参数的PayloadType结构体组成
int linphone_core_set_video_device(LinphoneCore* lc, const char* id)
设置有效的视频设置
参数
lc LinphoneCore对象
id 由linphone_core_get_video_devices() 返回的视频设备名字
void linphone_core_set_video_display_filter(LinphoneCore* lc, const char* filter_name)
设置用于渲染视频的mediastreamer2滤波器的名字.这是为高级用户的库,主要为了解决硬件/驱动程序错误.
void linphone_core_set_video_jittcomp(LinphoneCore* lc, int milliseconds)
设置大概的视频抖动缓冲大小 毫秒为单位.这个值对所有运行和等待的通话立即生效,如果有的话.0值表示禁用抖动缓冲.
int linphone_core_set_video_multicast_addr(LinphoneCore *lc, const char* ip)
设置多播地址,用于视频流.
参数
lc LinphoneCore对象
ip 一个ipv4/6多播地址
返回
如果成功就为0
int linphone_core_set_video_multicast_ttl(LinphoneCore* lc, int ttl)
设置多播TTL 用于视频流
参数
lc LinphoneCore对象
ttl 如果不用就设为-1.[0..255] 默认值为1
返回
如果成功返回 0
void linphone_core_set_video_policy(LinphoneCore* lc, const LinphoneVideoPolicy* policy)
为视频设置默认策略,该策略定义了是否:
- 对于拨出电话,视频会默认被启动
- 对于来电,视频会默认被接受
void linphone_core_set_video_port_range(LinphoneCore* lc, int min_port, int max_port)
设置UDP端口范围,在这个范围中随机选择端口用于视频流传输
void linphone_core_sound_device_can_capture(LinphoneCore* lc, const char* devid)
如果特定的声音设备可用捕获声音,返回true.
参数
lc LinponeCore对象
devid 由linphone_core_get_sound_devices()返回的设备名字
bool_t linphone_core_sound_device_can_playback(LinphoneCore* lc, const char* devid)
如果指定的声音设备可用播放声音,返回true.
参数
lc LinphoneCore对象
devid 由linphone_core_get_sound_devices()返回的设备名字
void linphone_core_stop_dtmf(LinphoneCore* lc)
停止拨打dtmf 由linphone_core_play_dtmf()开始的.
void linphone_core_stop_ringing(LinphoneCore* lc)
无论何时 linphone正在响铃通知有来电或者一个拨出电话的回铃声,这个函数都可以停止铃声.通常作用是停止响铃当用户请求忽略通话.
参数
lc LinphoneCore对象
void linphone_core_use_preview_window(LinphoneCore* lc, bool_t yesno)
告诉核心使用一个单独的窗口用于本地摄像头预览视频,而不是在远端视频窗口中插入本地视图内
参数
[in]lc LinphoneCore对象
[in]yesno TRUE使用独立窗口, FALSE 在远端视频窗口中插入预览窗口
返回
如果启用了视频自适应抖动补偿,返回TRUE,否则返回FALSE.
bool_t linphone_core_video_adaptive_jittcomp_enabled(LinphoneCore* lc)
判断视频自适应抖动补偿是否可用
参数
[in]lc LinphoneCore对象
返回
如果视频自适应抖动补偿可用,返回TRUE,否则返回FALSE.
bool_t linphone_core_video_caoture_enabled(LinphoneCore* lc)
判断视频采集是否可用
参数
[in]lc LinphoneCore对象
返回
如果视频采集可用返回TRUE,否则返回FALSE
bool_t linphone_core_video_display_enabled(LinphoneCore* lc)
判断视频显示是否可用
参数
[in]lc LinphoneCore 对象
返回
如果视频显示可用返回 TRUE, 如果不可以返回 FALSE
bool_t linphone_core_video_enabled(LinphoneCore* lc)
如果视频可采集或者可显示就返回TRUE,否则返回FALSE.等同于(linphone_core_video_capture_enabled|linphone_core_video_display_enabled)
bool_t linphone_core_video_multicast_enabled(const LinphoneCore* core)
获取视频流的多播状态
参数
core LinphoneCore对象
返回
如果后续通话提出多播IP地址(由linphone_core_set_video_multicast_addr设置)
bool_t linphone_core_video_preview_enabled(const LinphoneCore* lc)
如果视频预览可用返回 TRUE
const char* linphone_media_encryption_to_string(LinphoneMediaEncryption menc)
将LinphoneMediaEncryption枚举成员转换为string
int linphone_payload_type_get_channels(const LinphonePayloadType* pt)
获取通道数
参数
[in] pt LinphonePayloadType对象
返回
通道数
const char* linphone_payload_type_get_mime_type(const LinphonePayloadType* pt)
获取正常的比特率 单位为bits/s
参数
[in] pt LinphonePayloadType对象
返回
正常的比特率 单位为bits/s
int linphone_payload_type_get_type(const LinphonePayloadType* pt)
获取载荷类型
参数
[in] pt LinphonePayloadType对象
返回
载荷类型