안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요,
초보 질문 하나 하겠습니다 ㅠ_ㅠ
제가 동영상 플레이어를 만들었는데,
기존에 background에서 이미 실행중인 다른 MediaPlayer가 있으면
동영상과 기존 음악이 동시에 실행이 됩니다.
이미 실행중인 음악 app(기본 또는 알송 등)을 정지 또는 일시 정지 후
제 동영상 플레이어만 실행시키려고 한다면 어떻게 해야 하는지 알려주시면 감사하겠습니다..
2012.10.15 12:56:15
Android 에서 제공하는 Media Playback Guide 를 참조하시면 도움이 많이 됩니다.
http://developer.android.com/guide/topics/media/mediaplayer.html
오디오 리소스를 사용하기 전에 꼭 아래와 같이 Audio Focus 를 얻는 코드가 필요합니다.
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); int result = audioManager.requestAudioFocus(this, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN); if (result != AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { // could not get audio focus. }
getId()하셔서 id값을 잘 가지고 계셨다가
id값을 MediaPlayer를 초기화할때 넣어주시면 같은 객체를 불러 오실수 있습니다.
하지만 이방법보다는 Service를 구현하셔서 Service에 Binding하시고 MediaPlayer 객체를 관리하시는 걸 추천드립니다.
물론 오랜 시간과 테스트가 필요하겠지만.. Activity단에서 MediaPlayer객체를 백그라운드 상태일때 관리를 못하고, 위젯도 붙이기 힘드므로 Service를 꼭 구현하시길 바랍니다.