내 응용 프로그램의 하나의 활동으로 시작하는 비디오 스트림을 표시하려고하며 다시 시작하지 않고 응용 프로그램의 다른 활동으로 이동합니다. 그것을 준비하십시오. 활동 변경에 대한 약간의 일시 중지는 정상이지만 다시 시작하면 안됩니다. 한 활동에서 모든 것이 잘 작동하지만, 전환 활동을 할 때 MediaPlayer
은 새로운 SurfaceHolder
에 연결하고 싶지 않습니다. 오디오는 아름답게 작동하지만 간신히 장애가됩니다.실행중인 android.media.MediaPlayer가 응용 프로그램의 여러 활동에 걸쳐 유지되도록하기
난 애플 리케이션 컨텍스트로 초기화 SurfaceView
의 하위 클래스를 통해 이것을 시도했습니다. (액티비티간에 응용 프로그램 컨텍스트 뷰를 다시 배치하는 것은 Button
과 같은 단순한 뷰를 대신 사용하므로 문제가되지 않는다고 생각합니다.) 생성자에서 MediaPlayer 객체를 만들고 리스너와 데이터 소스 (MP4 HTTP를 통해 스트리밍 - 예, MediaPlayer의 일반적인 사용법으로 재생할 수 있음을 확인했습니다) prepareAsync
으로 전화하십시오. 내 SurfaceHolder.Callback
의 surfaceCreated
메서드에서 나는 이라고 setDisplay
으로 전화하고 (플레이어가 준비를 마친 경우) 호출합니다. surfaceDestroyed
방법에서 나는 pause
이라고 부른다. 그리고 준비 콜백에서 표면이 이미 생성 된 경우 start를 호출합니다.
나는 지금 무엇을 해야할지를 놓치고 있습니다. 어떤 아이디어?
참고 : 나도 잘못 될 수있는 항목의 수를 줄이기 위해 로컬 비디오 파일을 사용해 보았습니다. 같은 결과. – Emdot
오리엔테이션 변경을 통해 동영상을 계속 재생할 수있는 사람이
MediaPlayer
사용자 인 경우이 작업을 수행하는 데 필요한 정보가 포함되어있을 수 있습니다. 불행히도 그러한 온라인을 찾을 수 없었습니다. – Emdot당신은 내가 비슷한 종류의 문제가 있지만 다른 활동에서 볼 수없는 도움을 위해서 당신의 코드를 공유 할 수 있습니까? 여기는 내 러닝 코드 링크입니다 : http://stackoverflow.com/questions/7739386/android-how - 취득 - 미디어 플레이어 진행률 표시 줄 및 방법 표시 모두 표시 –