Estou construindo um app em que o um video é mostrado e o usuario vai acompanhando o video o problema é que como o video é muito grande o usuário pode fechar a tela e abrir toda vez que quiser acompanhar (para não gastar muito a bateria) , mas quado fecho a tela com o botao lock então o video para e o aplicativo fecha! 
Com VideoView não da para fazer isso porque ele ja possui um MediaPlayer embutido e para continuar a funcionar quando a tela estiver desligada é preciso que o MediaPlayer esteja sendo executado em background.
É bem complexo em relação a simplesmente usar um VideoView.
Nunca fiz mas na teoria seria mais ou menos isso:
- Criar uma activity com SurfaceView.
- Inicializar o MediaPlayer em um Service.
- Quando a tela estiver ligada fazer o Service chamar o metodo MediaPlayer.setDisplay(SurfaceView)
Obs. Pode ser que funcione simplesmente disparando uma thread com o MediaPlayer, não custa tentar 