|
|
|
@ -80,7 +80,8 @@ class HomeActivity : NoOptionsActivity() {
|
|
|
|
|
cameraSwitch.performClick()
|
|
|
|
|
}
|
|
|
|
|
cameraSwitch.setOnCheckedChangeListener { buttonView, isChecked ->
|
|
|
|
|
if (isChecked) RecordHelper.startRecording() else RecordHelper.stopRecording()
|
|
|
|
|
// if (isChecked) RecordHelper.startRecording() else RecordHelper.stopRecording()
|
|
|
|
|
if (isChecked) onCameraOpen() else onCameraClose()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
itemSetting.post {
|
|
|
|
@ -99,34 +100,56 @@ class HomeActivity : NoOptionsActivity() {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun onCameraOpen() {
|
|
|
|
|
// 启动录制编码
|
|
|
|
|
RecordHelper.startRecording()
|
|
|
|
|
// TODO 开启GPIO
|
|
|
|
|
|
|
|
|
|
setForCamera()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun onCameraClose() {
|
|
|
|
|
// 暂停录制编码
|
|
|
|
|
RecordHelper.stopRecording()
|
|
|
|
|
// TODO 关闭GPIO
|
|
|
|
|
|
|
|
|
|
// 关闭视频播放
|
|
|
|
|
mClient?.stop()
|
|
|
|
|
mClient = null
|
|
|
|
|
AppData.setCameraData(false)
|
|
|
|
|
changeViewStatus()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private var lastUpdateTime = 0L
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置摄像头
|
|
|
|
|
*/
|
|
|
|
|
private fun setForCamera() {
|
|
|
|
|
mClient?.stop()
|
|
|
|
|
mClient = EasyPlayerClient(
|
|
|
|
|
this@HomeActivity,
|
|
|
|
|
mBinding.surface,
|
|
|
|
|
null
|
|
|
|
|
) {
|
|
|
|
|
RecordHelper.onFrameAvailable(mBinding.surface, it)
|
|
|
|
|
val currentTimeMillis = System.currentTimeMillis()
|
|
|
|
|
if (currentTimeMillis - lastUpdateTime > 1000) {
|
|
|
|
|
lastUpdateTime = currentTimeMillis
|
|
|
|
|
if (!AppData.hasCameraData()) {
|
|
|
|
|
AppData.setCameraData(true)
|
|
|
|
|
changeViewStatus()
|
|
|
|
|
closeLoadingDialog()
|
|
|
|
|
if (mBinding.cameraSwitch.isChecked) {
|
|
|
|
|
mClient?.stop()
|
|
|
|
|
mClient = EasyPlayerClient(
|
|
|
|
|
this@HomeActivity,
|
|
|
|
|
mBinding.surface,
|
|
|
|
|
null
|
|
|
|
|
) {
|
|
|
|
|
RecordHelper.onFrameAvailable(mBinding.surface, it)
|
|
|
|
|
val currentTimeMillis = System.currentTimeMillis()
|
|
|
|
|
if (currentTimeMillis - lastUpdateTime > 1000) {
|
|
|
|
|
lastUpdateTime = currentTimeMillis
|
|
|
|
|
if (!AppData.hasCameraData()) {
|
|
|
|
|
AppData.setCameraData(true)
|
|
|
|
|
changeViewStatus()
|
|
|
|
|
closeLoadingDialog()
|
|
|
|
|
}
|
|
|
|
|
watchCamera(DELAY_TIME_CHECK_CAMERA)
|
|
|
|
|
}
|
|
|
|
|
watchCamera(DELAY_TIME_CHECK_CAMERA)
|
|
|
|
|
}
|
|
|
|
|
mClient?.play(CAMERA_URL)
|
|
|
|
|
// 第一次很慢,所以10秒
|
|
|
|
|
watchCamera(DELAY_TIME_OPEN_CAMERA)
|
|
|
|
|
showLoadingDialog(R.string.connecting_camera)
|
|
|
|
|
}
|
|
|
|
|
mClient?.play(CAMERA_URL)
|
|
|
|
|
// 第一次很慢,所以10秒
|
|
|
|
|
watchCamera(DELAY_TIME_OPEN_CAMERA)
|
|
|
|
|
showLoadingDialog(R.string.connecting_camera)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -265,16 +288,6 @@ class HomeActivity : NoOptionsActivity() {
|
|
|
|
|
Process.killProcess(Process.myPid())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onPause() {
|
|
|
|
|
super.onPause()
|
|
|
|
|
mClient?.pause()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onResume() {
|
|
|
|
|
super.onResume()
|
|
|
|
|
mClient?.resume()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onBackPressed() {
|
|
|
|
|
// super.onBackPressed()
|
|
|
|
|
}
|
|
|
|
|