一、前言
声网音视频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
网友评论