为图像分配声音

时间:2013-06-04 04:47:16

标签: java android eclipse sdk adt

我是 Android 编程的新手。甚至没有写过一个应用程序,所以非常详细的答案值得赞赏。所以,在这里:我想将一些 .mp3 声音文件分配给屏幕区域。

例如,如果我点击猫的图片,meow.mp3应该播放。这适用于两种不同的活动。此外,我正在寻找一种方法来静音来自单一来源的两个活动的声音,即MainActivity。我试着搞清楚一些代码,但是对于我的理解它们并不够详细。

感谢任何帮助,谢谢!

嗯,这就是我用来显示图像(playButtonUp)并打开另一个View的方法。我需要添加一个.mp3文件,以便通过声音表示操作,就像点击按钮一样。

case MotionEvent.ACTION_DOWN: 
      if ((X > (screenW-playButtonUp.getWidth())/2 &&          
      X < ((screenW-playButtonUp.getWidth())/2) +    
      playButtonUp.getWidth()) &&    
      Y > (int)(screenH*0.7) &&          
      Y < (int)(screenH*0.7) +           
      playButtonUp.getHeight()) {            
  playButtonPressed = true;  

break;
   }

1 个答案:

答案 0 :(得分:0)

让我们假设你的布局中有ImageView。您可以通过输入以下内容从源代码中获取它:

// imageView1 is id referring to your ImageViews xml code
ImageView myImageView = (ImageView) findViewById(R.id.imageView1); 

然后你可以添加一个监听器,当你点击图像时会触发它:

myImageView.setOnClickListener(new OnClickListener()
{
    @Override
    public void onClick(View v) {   
        // Add the MediaPlayer code here
        //  ...
    }
});

现在您可以在该事件中添加一些功能。首先,我将添加一个全局变量,以便您可以随时启动和停止媒体:

private MediaPlayer mediaPlayer;

让我们为onClick事件添加一些代码:

// First check if mediaPlayer has been created
if( mediaPlayer != null ) {
    // Then check if the mediaPlayer is playing, if it is, 
    // we want it to stop because if we don't stop it, 
    // there will be multiple sounds playing at the same time
    if( mediaPlayer.isPlaying() ) 
        mediaPlayer.stop();
}

// This creates the player and sets my slap.mp3 to be played
// => Add your mp3's in YourProject/res/raw/
mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.slap);
mediaPlayer.start();

现在你有一张创造声音的图片!

你想要静音,我想你想要阻止它们播放?使用mediaPlayer.stop();停止播放但请确保在调用之前检查 mediaPlayer not null mediaPlayer.isPlaying(),否则会出现异常。我希望这会以某种方式帮助你!