마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

mediaplayer 동시에 두개 실행하기 OR 소리없는동영상과 음악 동시 실행

0 추천
제목과 같이 동영상과 음악을 동시에 재생하려고 합니다.

제가 만든 어플에서는 동영상을 재생합니다. 그런데 이 동영상은 소리가 필요 없는 동영상 이구요.

그런데 사용자가 음악을 듣고 있을때 동영상을 보면은 음악이 중지가 되더라구요.  

동영상을 mediaplayer 로 돌렸는데 아마 동시에 두개의 mediaplayer를 돌릴수 없기 때문에 음악이 중지 되는 것 같은데요..

해결 방법이 떠오르질 않습니다. 조언 부탁드립니다.
henash (140 포인트) 님이 2013년 5월 30일 질문

2개의 답변

0 추천

음악은 mediaplayer

동영상은 비디오뷰 인가 

http://androiddeveloper.tistory.com/69

로하면 되지 않을까요?

 

아님 스레드로 하면 안될란가.....

해보진 않아서 자신없음 ....ㅎ

  (11,920 포인트) 님이 2013년 5월 30일 답변
0 추천
VideoView가 시작 될  경우 플레이 시작 시 브로드캐스트로   다른 플레이를 멈추도록

 pause명령을  보내게 되어 있으며, 기본 플레이어에서는 이 이벤트를 받으면 재생을 멈춥니다.

따라서 안드로이드에서 제공하는 기본 플레이어를 사용할 경우 2개 이상 플레이가 안됩니다.

 

기존 VideoView클래스를 쓰지마시고 VideoView 소스를 참조하여 재 구현 해주시면 됩니다.
사악미소 (65,330 포인트) 님이 2013년 5월 30일 답변
답변 감사 드립니다. ffmpeg으로 새롭게 플레이어를 만들어야 하나 싶었는데 가뭄에 단비 같이 느껴지네요. ^^
혹시 힌트 주셨던 Videoview소스를 재 구현하라는 말씀에 대해서 좀 더 들을수 있을까요???
말그대로 안드로이드 소스에 있는 VideoView.java를 참조하여 VideoView클래스를 구현 하시면 됩니다.
멈추는 명령어 부분은
Intent i = new Intent("com.android.music.musicservicecommand");
i.putExtra("command", "pause");
mContext.sendBroadcast(i);
이며, 이외 몇 사용하지 않는 히든 API를 주석 해 주시면 될 겁니다.

구현 편의를 위해 VideoView를 재구현 하라 말씀드렸을 뿐,
기본 플레이어를 사용하지 않고 MediaPlayer API만 사용하며 구성하면 MediaPlayer를 여러개 사용할 수 있습니다.
실력이 모자라서 자꾸 물어 보게 되네요.  죄송합니다. ㅜㅜ
말씀해 주신것처럼 VideoView를 재정의 하려고 하는데요. 막상 override 하려고 보니 위에서 말씀해 주신것처럼 intent를 날려주는 메소드를 찾기가 여간 쉬운게 아니더라구요.
재정의를 하려면 VideoView에 존재하는 메소드들이 어떤게 있고 어떻게 구성이 되었는지를 알아야 하는데 이것을 알기가 어렵더라구요.
혹시 VideoView에 존재하는 메소드들이라든지 저 명령어를 날리는 메소드를 알수 있을까요?
...