Android에서 피아노 같은 것을 만들려고했지만 android.media.MediaPlayer
과 android.view.View.OnClickListener
을 사용할 때 너무 느립니다.음악 버튼이 너무 천천히 작동합니다.
한 번의 키를 누를 때 빠른 사운드는 한 번에 두 번씩 초당 약 두 번만 실행됩니다.
감사합니다.
Android에서 피아노 같은 것을 만들려고했지만 android.media.MediaPlayer
과 android.view.View.OnClickListener
을 사용할 때 너무 느립니다.음악 버튼이 너무 천천히 작동합니다.
한 번의 키를 누를 때 빠른 사운드는 한 번에 두 번씩 초당 약 두 번만 실행됩니다.
감사합니다.
아마도 미디어 플레이어가 재생 중인지 확인하고 새로운 사운드를 시작하려면 중지해야할까요?
if (!mp.isPlaying()) {
mp.start();
} else {
mp.stop();
mp.start();
}
좋아. 위의 코드는 작동하지 않습니다. 어쩌면 SoundPool을 사용해야하는데 다른 것을 검색하는 동안 방금 찾았습니다. onTouchListener()를 시도해보십시오 : http://www.vogella.com/articles/AndroidMedia/article.html#tutorial_soundpool
btn2.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View view, MotionEvent event) {
if (!mp.isPlaying()) {
mp.start();
} else {
mp.stop();
mp.start();
}
return false;
}});
버튼이 작동을 멈 추면 전혀 작동하지 않습니다. 그리고 그는 버튼을 사용할 방법을 묻지 않습니다. –
MediaPlayer를 사용하지 말고 대신 SoundPool을 사용하십시오. 지연 시간이 짧은 재생을 위해 모든 사운드를 메모리에로드 할 수 있습니다.
좋아, 고마워, soudpool 함께 좋은 작품;)하지만 만약 android.media.SoundPool.OnLoadCompleteListener; API 8 이상에서만 작동합니다. 어떻게이 문제를 해결할 수 있습니까? 세 바스 티아 난이 보낸 페이지에서 좋아했습니다. –
이제 버튼을 클릭하면 모든 것이 좋지만 음악이 끝나기 전에 다시 클릭하면 버튼이 작동하지 않습니다. –
뭔가 새로운 것을 발견했습니다, SoundPool, 제 답변에 추가했습니다. –
고마워, 이제 작동하지만, android.media.SoundPool.OnLoadCompleteListener를 사용하면; API 8 이상에서만 작동합니다. 어떻게이 문제를 해결할 수 있습니까? –