AudioFocus에 대해서 문의줌 드리려고 합니다.


안녕하세요.

항상 고맙게 도움을 잘 받고 있습니다.

다름이 아니라 제가 VideoView를 이용하여 동영상을 재상을 하는데

문제는 음악을 듣고 있는 도중 (멜론이나, 또는 지니)같은 앱이 멈추거나 꺼져버립니다.

재 앱이 실행되어도 음악 듣는 앱들을 종료하고 싶지 않습니다.(참고로 저희 영상들은 음성이 없습니다.)

그래서 쫌 찾아보니 Audio Focus라는게 나오던데 해결방법이 있는지 궁금합니다.

  • 감사합니다.
  • 2016년 06월 23일에 작성됨

조회수 235


1 답변


VideoView의 setVideoURI() 함수를 호출하면 내부적으로 openVideo()를 호출합니다.

private void openVideo() {
    ...

    AudioManager am = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
    am.requestAudioFocus(null, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);

    ...
}

openVideo() 내부에서 오디오 포커스를 요청하기 때문에 다른 뮤직앱의 음악 재생이 정지되는 것입니다. 테스트 해본 결과 VideoView로는 이 문제를 해결할 수 있는 방법을 찾지 못했습니다.

관련된 자료를 검색 해보니 VideoView를 사용하지 않고, MediaPlayer와 SurfaceView를 직접 사용해 동영상을 재생하면 오디오 포커스 문제에서 자유로워질 수 있습니다. (VideoView도 내부적으로 MediaPlayer와 SurfaceView를 이용해서 동영상을 재생함)

아래 코드를 참고하셔서 VideoView를 제거하고 위 방법으로 직접 동영상을 재생해보시기 바랍니다.

같은 문제로 올라온 스택오버플로우 게시글


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close