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

soundpool 일정 횟수 플레이시 사운드 재생이 안됩니다.

0 추천

혼자서 테스트할 땐 잘만되다가

 

다른사람 주면 안된다고 하네요 한 몇시간 쓰면..

 

무거운건 아니고 그냥 띵동 하고 마는건데 말이에요 ㅜㅜ

 

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
                        {
                            AudioAttributes audio = new AudioAttributes.Builder()
                                    . setContentType ( AudioAttributes . CONTENT_TYPE_MUSIC )
                                    . setFlags(AudioAttributes.FLAG_AUDIBILITY_ENFORCED)
                                    . setUsage(AudioAttributes.USAGE_GAME)
                                    .build();

                            if(sp!=null)
                            {
                                sp.release();
                                sp = null;
                            }
                            sp = new SoundPool.Builder().setAudioAttributes(audio).setMaxStreams(5).build();
                            soundId = sp.load(mContext, R.raw.ding1, 1);
                            sp.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
                                @Override
                                public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
                                    soundPool.play(sampleId, vol, vol, 1, 1, 1.f);
                                    Handler mHandler = new Handler(Looper.getMainLooper());
                                    mHandler.postDelayed(new Runnable() {
                                        @Override
                                        public void run() {
                                            sp.release();
                                        }
                                    }, 1500);
                                }
                            });
                        }
                        else
                        {
                            if(sp!=null)
                            {
                                sp.release();
                                sp = null;
                            }
                            sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
                            soundId = sp.load(mContext, R.raw.ding1, 1);
                            sp.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
                                @Override
                                public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
                                    soundPool.play(sampleId, vol, vol, 1, 1, 1.f);
                                    Handler mHandler = new Handler(Looper.getMainLooper());
                                    mHandler.postDelayed(new Runnable() {
                                        @Override
                                        public void run() {
                                            sp.release();
                                        }
                                    }, 1500);
                                }
                            });
                        }

 

사운드풀은 이렇게 사용하는게 아닌가요 ㅜㅜ??

여러군데 찾아봤는데도 그러네요...

 

일단은 동작이 5초에 한번 리스트뷰를 리프레쉬 해서

일정 조건에 맞으면 리스트가 갱신되며 저 사운드가 나오는데요

저 코드의 위치는 리스트 어댑터 안에 있습니다 ㅜn

엉엉엉 님이 2016년 7월 28일 질문
2016년 7월 29일 수정

1개의 답변

0 추천
따로 문제는 안보이는데...
익명사용자 님이 2016년 7월 29일 답변
...