CAFE

댓글

뒤로

전화가 올때 재생중인 음악을 멈추게 하는 방법 질문

작성자안드로이드 초보| 작성시간13.07.05| 조회수251| 댓글 5

댓글 리스트

  • 작성자 안드로이드 초보 작성자 본인 여부 작성자 작성시간13.07.08 음악이 재생중인 앱이 A라고 가정할때, 제가 만들고 있는 앱은 인터넷 전화 앱이고 이를 B라고 가정합니다. 즉, A와 B앱은 서로 다른 프로세서에서 동작중입니다. A앱이 음악 재생중에 B앱을 통해 전화가 들어온다고 할때, 위에서 말씀하신 Media Player 사용이 가능한가요? 만일 B앱에서 음악을 재생하고(이때 Media Player가 사용) B앱에서 전화가 들어올때 위의 방법이 가능한것 아닌가요?
    감사합니다.
  • 작성자 늑돼지 작성시간13.07.08 전화가 왔을 경우 다른 음악 앱이 멈추도록 "pause" command로 broadcast 를 보내고, 통화가 끝났을 때 "play" command로 broadcast를 보내면 될것 같습니다.
    기본 음악 앱은 "com.android.music.musicservicecommand"를 등록해놓았을 거 같은데요. (제조사 마다 다른지는 정확히 모르겠습니다.)
    예를들어,
    Intent intent = new Intent("com.android.music.musicservicecommand");
    intent.putExtra("command", "pause");
    sendBroadcast(intent);
    틀린 설명이 있다면 다른분께서 댓글로 지적 부탁드립니다.
  • 작성자 jjang 작성시간13.07.08 제가 말씀드렸던 TelephonyManager는 모바일 통화에만 적용되는거고 당연히 인터넷 전화앱의 통화상태는 적용이 안되는거네요. 어젯밤에 제가 마침 음악재생 앱을 만들던 중이라 제대로 읽어보지도 못하고 답변을 달았습니다ㅜㅜ

    혼란을 드려 죄송하구요, 어차피 시스템 레벨의 알림을 사용하기 곤란하니 늑돼지님 말씀처럼 인텐트로 타겟 음악재생앱쪽으로 일시정지 명령을 날리는 등의 방법을 활용해야겠네요.
  • 작성자 jjang 작성시간13.07.08 참고로 늑돼지님이 알려주신대로 해보니 갤럭시노트에서 잘 됩니다.

    즉 제 앱에서 특정 명령이 수행되면 인텐트를 통해 네이티브 음악재생앱(갤노트에서는 뮤직플레이어)쪽으로 "pause" 명령을 날려 "일시정지" 되도록 하고 또다른 명령이 수행되거나 제 앱을 종료시켜버리면 "play" 명령을 날려서 "이어재생" 되도록 해봤는데 둘다 잘 되네요.
  • 작성자 안드로이드 초보 작성자 본인 여부 작성자 작성시간13.07.09 먼저 친절한 답변감사드립니다. 늑장돼지님이 말씀하신 방법으로 처리해본결과 모든 폰에서 적용이 되지는 않네요. 안드로이드 개발사이트를 검색해보니 AudioManager의 Focus 얻어서 제어하는 방법이 있던데, 그방법을 사용해 봐야 겠습니다. 다시한번 감사드립니다.
맨위로

카페 검색

카페 검색어 입력폼
카카오 이모티콘
사용할 수 있는 카페앱에서
댓글을 작성하시겠습니까?
이동시 작성중인 내용은 유지되지 않습니다.