美文网首页Android开发
接入声网音视频SDK-计时器和金币不足倒计时

接入声网音视频SDK-计时器和金币不足倒计时

作者: 你的益达233 | 来源:发表于2022-05-06 11:27 被阅读0次

    一、前言

    声网音视频SDK是没有计时的api,所以还得自己做,
    计时开始时刻:拨打方监听到对方加入频道开始计时,接听方加入频道成功后开始计时

    二、关键计时代码

    用的是Chronometer控件,如果对这个控件属性的朋友,就可以不用往下看了。

    布局代码:

    <Chronometer
            android:id="@+id/ch_chat_audio_call_accepting_time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="@dimen/sp_18"
            android:textStyle="bold"
            android:textColor="@color/white"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            tools:text ="00 : 23"
            android:visibility="gone"
            />
    

    java参考代码

    if (startCallBean.type == AUDIO_TYPE){
                mBinding.chChatAudioCallAcceptingTime.visibility = View.VISIBLE
                mBinding.chChatAudioCallAcceptingTime.base =  SystemClock.elapsedRealtime() 
                mBinding.chChatAudioCallAcceptingTime.start()
                //拨打方才检查金币
                if (isCallOutGoing){
                    mBinding.chChatAudioCallAcceptingTime.setOnChronometerTickListener {
                        dealChatMediaCheckGold(it.base,startCallBean.mediaId)
                    }
                }
    
            }
    

    有关计时器的基本用法:

    1、setBase(): 用于设置计时器的起始时间

    2、setFormat():用于设置显示时间的格式

    3、start(): 用于指定计时开始

    4、stop(): 用于指定停止计时

    5、setOnChronometerTickListener(): 用于为计时器绑定事件监听器,当计时器改变时触发监听器

    获取经过了多长时间

    val secondCall = (SystemClock.elapsedRealtime() - chronometerBase)/1000  //得到s

    相关文章

      网友评论

        本文标题:接入声网音视频SDK-计时器和金币不足倒计时

        本文链接:https://www.haomeiwen.com/subject/epgayrtx.html