desc:TODO开关摄像头

main
xiaowusky 1 year ago
parent 32e82b0873
commit b531e9da31

@ -80,7 +80,8 @@ class HomeActivity : NoOptionsActivity() {
cameraSwitch.performClick() cameraSwitch.performClick()
} }
cameraSwitch.setOnCheckedChangeListener { buttonView, isChecked -> 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 { 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 var lastUpdateTime = 0L
/** /**
* 设置摄像头 * 设置摄像头
*/ */
private fun setForCamera() { private fun setForCamera() {
mClient?.stop() if (mBinding.cameraSwitch.isChecked) {
mClient = EasyPlayerClient( mClient?.stop()
this@HomeActivity, mClient = EasyPlayerClient(
mBinding.surface, this@HomeActivity,
null mBinding.surface,
) { null
RecordHelper.onFrameAvailable(mBinding.surface, it) ) {
val currentTimeMillis = System.currentTimeMillis() RecordHelper.onFrameAvailable(mBinding.surface, it)
if (currentTimeMillis - lastUpdateTime > 1000) { val currentTimeMillis = System.currentTimeMillis()
lastUpdateTime = currentTimeMillis if (currentTimeMillis - lastUpdateTime > 1000) {
if (!AppData.hasCameraData()) { lastUpdateTime = currentTimeMillis
AppData.setCameraData(true) if (!AppData.hasCameraData()) {
changeViewStatus() AppData.setCameraData(true)
closeLoadingDialog() 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()) Process.killProcess(Process.myPid())
} }
override fun onPause() {
super.onPause()
mClient?.pause()
}
override fun onResume() {
super.onResume()
mClient?.resume()
}
override fun onBackPressed() { override fun onBackPressed() {
// super.onBackPressed() // super.onBackPressed()
} }

@ -53,7 +53,10 @@ object LztekUtil {
fun setRtspUrl(str: String?) { fun setRtspUrl(str: String?) {
this.rtspUrl = str this.rtspUrl = str
rtspUrl?.let { PushHelper.setPushUrl(it) } rtspUrl?.let {
PushHelper.setPushUrl(it)
PushHelper.startStream(true)
}
} }
private fun getStorageCardPath(): String? { private fun getStorageCardPath(): String? {

Loading…
Cancel
Save