Liblinphone 3.9.1中文--Modules--Obtaining information about a running call: sound volumes, quality in

Obtaining information about a running call: sound volumes, quality indicators  

获取关于正在通话的电话信息:音量,质量指标


结构体

           struct  _LinphoneCallStats

           #define LINPHONE_CALL_STATS_AUDIO    ((int)LinphoneStreamTypeAudio)

           #define LINPHONE_CALL_STATS_VIDEO    ((int)LinphoneStreamTypeVideo)

           #define LINPHONE_CALL_STATS_TEXT       ((int)LinphoneStreamTypeText)

          #define LINPHONE_CALL_STATS_RECEIVED_RTCP_UPDATE  (1<<0)

          #define LINPHONE_CALL_STATS_SENT_RTCP_UPDATE  (1<<1)

          #define LINPHONE_CALL_STATS_PERIODICAL_UPDATE  (1<<2)

          #define LINPHONE_VOLUME_DB_LOWEST (-120)


自定义

              typedef struct  _LinphoneCallStats LinphoneCallStats

函数

     

float  linphone_call_get_play_volume (LinphoneCall *call)
 
float  linphone_call_get_record_volume (LinphoneCall *call)
 
float  linphone_call_get_speaker_volume_gain (constLinphoneCall *call)
 
void  linphone_call_set_speaker_volume_gain (LinphoneCall*call, float volume)
 
float  linphone_call_get_microphone_volume_gain (constLinphoneCall *call)
 
void  linphone_call_set_microphone_volume_gain (LinphoneCall*call, float volume)
 
float  linphone_call_get_current_quality (LinphoneCall *call)
 
float  linphone_call_get_average_quality (LinphoneCall *call)
 
const LinphoneCallStats *  linphone_call_get_audio_stats (LinphoneCall *call)
 
const LinphoneCallStats *  linphone_call_get_video_stats (LinphoneCall *call)
 
const LinphoneCallStats *  linphone_call_get_text_stats (LinphoneCall *call)
 
bool_t  linphone_call_media_in_progress (LinphoneCall *call)
 
float  linphone_call_stats_get_sender_loss_rate (constLinphoneCallStats *stats)
 
float  linphone_call_stats_get_receiver_loss_rate (constLinphoneCallStats *stats)
 
float  linphone_call_stats_get_sender_interarrival_jitter(const LinphoneCallStats *stats, LinphoneCall *call)
 
float  linphone_call_stats_get_receiver_interarrival_jitter(const LinphoneCallStats *stats, LinphoneCall *call)
 
rtp_stats_t  linphone_call_stats_get_rtp_stats (constLinphoneCallStats *stats)
 
uint64_t  linphone_call_stats_get_late_packets_cumulative_number(const LinphoneCallStats *stats, LinphoneCall *call)
 
float  linphone_call_stats_get_download_bandwidth (constLinphoneCallStats *stats)
 
float  linphone_call_stats_get_upload_bandwidth (constLinphoneCallStats *stats)
 
LinphoneIceState  linphone_call_stats_get_ice_state (constLinphoneCallStats *stats)
 
LinphoneUpnpState  linphone_call_stats_get_upnp_state (constLinphoneCallStats *stats)
 
void  linphone_call_start_recording (LinphoneCall *call)
 
void  linphone_call_stop_recording (LinphoneCall *call)
 
const char *  linphone_ice_state_to_string (LinphoneIceState state)


详细说明

       当一个电话正在通话,它可以实时获取当前的测量的音量和质量指标


宏定义文档

       #define LINPHONE_CALL_STATS_PERIODICAL_UPDATE       (1 << 2)

       每秒更新LinphoneCallStats对象


      #define  LINPHONE_CALL_STATS_RECEIVED_RTCP_UPDATE    (1<<0)

       LinphoneCallStats对象的received_rtcp域已经更新


     #define LINPHONE_CALL_STATS_SENT_RTCP_UPDATE      (1<<1)

       LinphoneCallStats对象的sent_rtcp域已经更新

 

     #define  LINPHONE_VOLUME_DB_LOWEST    (-120)

      最低音量,可以在完全沉默的情况下,由linphone_call_get_play_volume()或linphone_call_get_record_volume()返回

  



自定义文档

       typedef struct _LinphoneCallStats  LinphoneCallStats

       定期接受这些信息,一旦他们被计算出。应用程序需要设置一个LinphoneCoreCallStatsUpdatedCb 回调函数在LinphoneCoreVTable结构体(它被用来实例化LinphoneCore对象)(参见 linphone_core_new()).

       在任何时候,应用程序可以访问最新计算的统计数据,通过使用linphone_call_get_audio_stats()或linphone_call_get_video_stats().

      


函数文档

       const LinphoneCallStats* linphone_call_get_audio_stats(LinphoneCall * call)

     访问指定通话的已知的关于视频流的统计数据


     float linphone_call_get_average_quality(LinphoneCall* call)

     返回整个通话过程中平均的通话质量

     参见linphone_call_get_current_quality()了解关于质量测量的更多细节

     


     float linphone_call_get_current_quality(LinphoneCall* call)

     获取实时通话质量评级

     基于本地的RTP统计和RTCP反馈,在通话的期间,质量评级被计算和更新.该函数返回质量评级的值.将每5秒左右更新评级.评级是0到5之间的一个浮动数.

      4-5 = 好

      3-4 = 一般

      2-3 = 差

      1-2 = 非常差

      0-1 = 最差

    返回

         如果没有质量统计返回-1,例如如果没有有效的视频流存在.否则返回质量评级


    float linphone_call_get_microphone_volume_gain(const LinphoneCall* call)

    获取麦克风音量的增益.如果声卡驱动支持,返回的增益等同于系统音量合成器设置的增益

    参数

          call  LinphoneCall对象

    返回

          支持的最大音量增益的双精度百分数.有效值为[0.0:1.0].如果失败,将返回一个负值



    float linphone_call_get_play_volume(LinphoneCall* call)

    返回本地播放的音量(接收来自远端).它使用dbm0来表示(dbm0为单位)


    float linphone_call_get_record_volume(LinphoneCall* call)

    返回本地播放的音量(发送到远程).它使用dbm0来表示


          float linphone_call_get_speaker_volume_gain(const LinphoneCall* call)

     获得扬声器音量增益.如果声卡驱动支持,返回的增益等同于系统音量合成器设置的增益

    参数

            call   LinphoneCall对象

    返回

           支持的最大音量增益的双精度百分数.有效值为[0.0:1.0].如果失败,将返回一个负值



    const LinphoneCallStats* linphone_call_get_text_stats(LinphoneCall* call)

    访问指定通话已知的关于文本的数据统计

    

    const LinphoneCallStats* linphone_call_get_video_stats(LinphoneCall* call)

    访问指定通话已知的关于音频流的数据统计


    bool_t linphone_call_media_in_progress(LinphoneCall* call)

    判断在媒体方面时候有一个操作正在处理.在媒体正忙着建立连接的时候(通常是ICE连接线检查),启动信令操作(添加视频/暂停通话/删除视频/改变视频参数)是个坏主意.它可能导致故障发生,通话操作延时.在每次通话状态变化后,应用程序需要检查这个函数来决定是否允许某些操作

    参数

           call LinphoneCall对象

    返回

           如果媒体正忙着建立连接,返回TRUE,否则返回FALSE


    void linphone_call_set_microphone_volume_gain(LinphoneCall* call, float volume)

    设置麦克风音量增益。如果声卡驱动支持,新的增益将会和系统声音混合器同步.

    参数

          call LinphoneCall对象

          volume  支持最大的增益的百分数,有效值为[0.0:1.0]



    void linphone_call_set_speaker_volume_gain(LinphoneCall* call, float volume)

   设置扬声器音量增益.如果声卡驱动支持,新的增益将和系统声音混合器同步

    参数

          call LinphoneCall对象

          volume 支持最大的增益的百分数,有效值为[0.0:1.0]


    void linphone_call_start_recording(LinphoneCall* call)

    开始通话录音. 音频输出文件保存路径必须由linphone_call_params_set_record_file()预先指定



    float linphone_call_stats_get_download_bandwidth(const LinphoneCallStats* stats)

    获取关于接收流的带宽测量值,用kbit/s表示,包括IP/UDP/RTP报头

    参数

          [in] stats LinphoneCallStats对象

    返回

          关于接收流的带宽测量值,用kbit/s表示

 

    LinphoneIceState linphone_call_stats_get_ice_state(const LinphoneCallStats* stats)

    获取ICE处理的状态

    参数

          [in]stats  LinphoneCallStats对象

    返回

          ICE处理的状态



    uint64_t linphone_call_stats_get_late_packets_cumulative_number(const LinphoneCallStats* stats, LinphoneCall* call)

    获取最近数据包的累积数量

    参数

                       stats    LinphoneCallStats 对象

         call     LinphoneCall对象

    返回

         最近数据包累积的数量



   float linphone_call_stats_get_receiver_interarrival_jitter(const LinphoneCallStats* stats, LinphoneCall* call)

   获取远程报告的抖动时间

   返回

        最后收到接收方报告的抖动时间



   float linphone_call_stats_get_receiver_loss_rate(const LinphoneCallStats* stats)

   获取远程报告的丢失率,从最近一次报告算起

   返回

        接收者丢失率


   float linphone_call_stats_get_sender_interarrival_jitter(const LinphoneCallStats stats,LinphoneCall* call)

   获取本地的抖动时间

        返回

                     最后发送的发送方报告的抖动时间

      

 

   float linphone_call_stats_get_sender_loss_rate(const LinphoneCallStats* stats)

   获取本地丢失率,从最近的报告算起

   返回

        发送方的丢失率



    float linphone_call_stats_get_upload_bandwidth(const LinphoneCallStats* stats)

    获取发送流的带宽测量值,用kbit/s表示,包括 IP/UDP/RTP报头

    参数

          [in]  stats LinphoneCallStats对象

    返回

          发送流的带宽测量值, 用kbit/s表示


    LinphoneUpnpState linphone_call_stats_get_upnp_state(const LinphoneCallStats* stats)

    获取uPnP处理的状态

    参数

         [in] stats LinphoneCallStats对象

    返回

         uPnP处理的状态


    void linphone_call_stop_recording(LinphoneCall* call)

    停止电话录音

    




           

  


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值