내 응용 프로그램에 활동 및 서비스 구성 요소가 있습니다.활동 및/또는 서비스
서비스가 표면 홀더가 필요한 SurfaceView
및 mediaplayer 인스턴스를 준비하도록 할 것입니다. 내 미디어는 비디오 파일입니다.
서비스 내에서 표면 뷰를 만들 수 있습니까?
내 서비스 구성 요소에서 다음
surface = (MySurfaceView) findViewById(R.id.surface);
를 호출 할 수 있습니까?
내가 그랬다면 플레이어 인스턴스의 setDisplay()
에 surface.getHolder
을 할당 할 수있었습니다.
전반적인 목표는 활동에서 명령 (재생, 중지, 찾기 등)을 실행하고 서비스가 미디어 플레이어 상태의 제어를 구현하도록하는 것입니다.
아마도 내 활동에 모든 것을 넣을 수는 있지만 기기를 회전하면 표면을 찢어서 다시 에 다시 만들고 싶지 않습니다. 따라서 여기 내 상황에 대한 서비스를 사용하여보고.
모든 아이디어 나 해결책을 높이 평가합니다.
감사합니다.
AsyncTask가 어떻게 도움이되는지 알지 못합니다. 미디어 플 레이어는 응용 프로그램의 전체 수명 동안 백그라운드에서 실행되어야합니다. –
표면을 사용할 수없는 경우 MediaPlayer에서 오디오 만 재생합니다. 나는 당신이 날아 다니는 표면을 부착/분리/재 부착 할 수 있는지 확신 할 수 없지만 재생은 표면없이 잘 작동해야합니다. 즉, 플레이어는 플레이어를 서비스 상태로 놓을 수 있고 표면은 활동으로 관리 할 수 있습니다. – inazaruk
나는이 작업의 다른 구현을 안내하는 posts-with-와 함께 유용한 링크를 추가했습니다. – rekaszeru