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

미디어플레이어 멈추지를 않습니다..미치겠습니다.

0 추천
dialog.setSingleChoiceItems(items, index, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {

                switch (which) {
                    case 0:
                        mediaPlayer = MediaPlayer.create(getActivity(), R.raw.alone);
                        if (mediaPlayer.isPlaying()){
                            mediaPlayer.stop();
                        }
                        mediaPlayer.start();
                        break;
                    case 1:
                        mediaPlayer = MediaPlayer.create(getActivity(), R.raw.go);
                        if (mediaPlayer.isPlaying()){
                            mediaPlayer.stop();
                        }
                        mediaPlayer.start();
                        break;
                    case 2:
                        mediaPlayer = MediaPlayer.create(getActivity(), R.raw.sky);
                        if (mediaPlayer.isPlaying()){
                            mediaPlayer.stop();
                        }
                        mediaPlayer.start();
                        break;
                    case 3:
                        mediaPlayer = MediaPlayer.create(getActivity(), R.raw.two);
                        if (mediaPlayer.isPlaying()){
                            mediaPlayer.stop();
                        }
                        mediaPlayer.start();
                        break;
                }

 

알림음을 설정할려고 하는데요.....

다이얼로그창에 리스트가 나타나구요...

그런데 문제가..

위 소스대로 돌리면...

하나의 음원이 선택하면 그 음원이 나오고...

다른 음원을 선택하면 예전 음원은 멈추고 새로 선택한 음원이 나와야하는데...

멈추질 않고....

2개의 음원이 동시에 흘러나옵니다..

 

뭐가 문제인가요?

 

 

 

 

 

 

익명사용자 님이 2016년 9월 6일 질문
예전 음웜을 안 멈추시고 새로운 음원을 추가로 재생하시고 계시는 것 같이보여요. 재생되고 있는 음원을 멈추는 코드가 없늠 걸로 봐서는요.
 if ( mediaPlayer!=null && mediaPlayer.isPlaying()){
                            mediaPlayer.stop();
                        }

1개의 답변

0 추천
 
채택된 답변

case 문 안의 모든 if 문 제거하시고

switch 위에 아래의 코드만 추가하세요.

 

if ( mediaPlayer != null && mediaPlayer.isPlaying()){
           mediaPlayer.stop();
}

 

적고나니 윗분하고 동일한 답변...ㅡㅡ;;

바램 (19,650 포인트) 님이 2016년 9월 6일 답변
두분 감사드립니다..^^ 해결되었습니다.
...