我们提供了GB28181设备端的sdk和demo,是需要开发人员做一些业务界面的二次开发的。但是其实很多用户提出需要在android手机或者设备在屏幕熄灭(后台运行)的情况下继续采集视音频数据,能够不影响GB28181平台上视频的预览等各项业务的开展,特别是特种行业油田的,车载,警务执法仪,是要能完全自适应的无值守使用的。要求横竖屏切换,前后置摄像头切换,前后台运行都能够正常使用。。
众所周知,android里面预览摄像头有两种,一种是使用surfaceview,一种是TextureView。我们demo里采用的是surfaceview,代码如下:
private SurfaceView surfaceView;
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder) {
startCapture();
Log.i(TAG, "Main surfaceCreated");
}
@Override
public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
Log.i(TAG, "Main surfaceChanged. width: " + i1);
}
@Override
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
Log.i(TAG, "Main surfaceDestroyed");
stopCapture();
}
startCapture函数里把surfaceView.getHolder()与camera关联,代码如下:
if (ret == 0) {
boolean isStart =

该博客介绍了如何通过TextureView解决Android设备在屏幕熄灭或后台运行时,仍能持续采集并传输GB28181平台的音视频数据。文章详细对比了SurfaceView和TextureView在预览摄像头时的区别,并提供了采用TextureView的实现代码,确保应用能在横竖屏切换、前后置摄像头切换以及前后台运行状态下正常工作,满足特种行业如油田、车载、警务执法仪等无值守使用的场景需求。
最低0.47元/天 解锁文章
1922





