혼자서 테스트할 땐 잘만되다가
다른사람 주면 안된다고 하네요 한 몇시간 쓰면..
무거운건 아니고 그냥 띵동 하고 마는건데 말이에요 ㅜㅜ
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