현재 진행중인 프로젝트때문에....백그라운드 단위에서 녹화를 해야할 일이 생겼습니다.

음...액티비티를 이용해서 녹화하는건 이미 구현했고요....

좀 고급 기능으로 백그라운드 상에서 녹화하는 기능을 개념적으로 설계만 해놓은 상태인데...


서비스에서 카메라 세팅까지는 잘 됩니다만,

서페이스를 생성할때 Context도 없는듯하고....(액티비티가 아니라...)

어거지로 생성하고 서페이서 홀더도 생성하고 Service 자체에 SurfaceHolder.Callback함수를 만들어주어서

콜백함수 등록해줬습니다만,

문제는 서비스 생성후 서페이스홀더 콜백함수가 전혀 동작하지 않을뿐더러....(당연하겠지요...보여줄 서페이서를 만들 필요도 없고

액티비티도 아니니)....

Service에서 getApplicationContext()나 getBaseContext()로 생성한 서페이스를 강제로 프리뷰 디스플레이에 셋팅해주면(안하면

prepare 자체가 안되더군요...)

역시 잘못된 서페이스인지 prepare를 철회하고 미디어 레코더 설정에 실패합니다....



결론적인 문제는 영상 녹화에 쓰이는 프리뷰 상태의 서페이스를 Service에서 만들어낼수 없다는 것인데요

가상(?)으로 버퍼처럼 사용되는 뭔가 없을지...

아니면 우회적인 방법이라도 상관없으니까 해결책이 떠오르시는 분은 답변좀 달아주시면 감사하겠습니다 ㅠㅠ