在动画图像视图时播放声音,并在图像视图动画停止时停止

时间:2015-04-06 08:30:53

标签: android android-animation

imageView动画制作时,是否有任何可以播放声音的解决方案。 我试过这个:

public void bounceInterpolar(View thumbnailView){
  ImageView animatedImage = (ImageView) findViewById(R.id.img_animation);

 Animation animation 
   = AnimationUtils.loadAnimation(this, R.anim.animation);
  animatedImage.startAnimation(animation);

  mp = MediaPlayer.create(this, R.raw.soho);
  animatedImage = (ImageView)this.findViewById(R.id.img_animation);

  animatedImage.setOnClickListener(new View.OnClickListener() {

     @Override
     public void onClick(View v) {
         // TODO Auto-generated method stub

         mp.start();
     }
 });

问题:点击imageView,一旦动画结束,然后点击imageView第二次,然后播放声音,这不是我的要求。需要与动画并行播放声音。

2 个答案:

答案 0 :(得分:0)

您需要为动画添加侦听器。

animation.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {
                 mp.start();
        }

        @Override
        public void onAnimationEnd(Animation animation) {
                mp.stop();
        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }
    });

答案 1 :(得分:0)

请将动画侦听器设置为动画对象

     animation.setAnimationListener(new AnimationListener()
        {

            @Override
            public void onAnimationStart(Animation animation)
            {

            }

            @Override
            public void onAnimationRepeat(Animation animation)
            {

            }

            @Override
            public void onAnimationEnd(Animation animation)
            {
                if (m_player != null && m_player.isPlaying())
                {
                    m_player.stop();
                    m_player.release();
                    m_player = null;
                }
            }
        });