2015-01-29 3 views
0

나는 AnimationSet을 만들었고 첫 번째 애니메이션 후에 사운드 효과를 원합니다. 어떤 식 으로든 애니메이션 세트에 추가하거나 사운드를 변경하는 ObjectAnimator 속성이있는 경우 가능합니까? 어떻게 할 수 있는지 알려주세요.안드로이드에서 AnimationSet에 사운드 효과를 추가하는 방법

MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.combo); 
ObjectAnimator fade = ObjectAnimator.ofFloat(ImageButton,"alpha",0f,1f); 
ObjectAnimator move = ObjectAnimator.ofFloat(myAnimation1,"translationX",20); 
ObjectAnimator moveX = ObjectAnimator.ofFloat(myAnimation1,"translationY",20); 
AnimatorSet as =new AnimatorSet(); 
       as.playTogether(move,moveY,fade);//wanted to know if I could add the sound mp after moveY 
       as.start(); 

답변

0

하나의 가능성은 ObjectAnimator에 리스너를 추가하는 것입니다. 예 :

mAnimator.addListener(new AnimatorListenerAdapter(){ 
     @Override public void onAnimationStart(Animator animator){ 
     // do something if needed when animation starts, play a sound maybe 
     } 
     @Override public void onAnimationEnd(Animator animator){ 
     // call your sound player from here 
     } 
    } 
); 

각 단계에서 메소드가 트리거됩니다. 범위가 더 큰 경우가 아니면 최종 변수를 MediaPlayer 변수로 변경해야합니다.

오디오 클립이 짧은 경우 SoundPool은 여러 클립을 특수하게 재생할 때 작업에 특히 적합합니다. 그러나 이것을 결정하기 전에 다음을 확인하십시오. AudioTrack, SoundPool or MediaPlayer Which Should I use?