프로젝트에서는 기기가 백그라운드에서 녹화할 수 있어야 하지만 앱이 백그라운드에 들어가면 표면 보기가 삭제됩니다. 앱을 다시 열면 표면 보기가 다시 생성됩니다. 그리고 SurfaceCreated() 메서드의 Camera.starPreview를 사용하세요. 그렇지 않으면 화면이 검은색이 됩니다. 문제는 이렇게 하면 카메라가 중간에 stopPreview 동작을 수행하기 때문에 녹화된 영상 파일을 재생할 수 없다는 점이다.
누구나 이 문제를 해결할 수 있는 아이디어를 줄 수 있나요?
글쎄, "백그라운드 녹화"라는 목표를 달성하려면 FloatingWindow를 사용하는 것이 좋습니다. 이 SurfaceView를 플로팅 창에 걸어 놓고, 인터페이스를 미리 볼 때 플로팅 창을 최대화하고, 사용자가 애플리케이션을 종료하고 배경 모드로 들어가면, 부동 창을 크기로 설정합니다. 1픽셀 창이며 이 때 녹화가 계속 실행 중입니다. 당연히 녹화된 파일은 슬라이싱되지 않습니다.
이 애플리케이션이 휴대폰에서 실행되는지 차량 기기에서 실행되는지 모르겠습니다.