-1

我是Android编程新手。甚至没有编写过一个应用程序,因此非常感谢您提供非常详细的答案。所以,这里是这样:我想将一些.mp3声音文件分配到屏幕的一个区域。

例如,如果我点击一只猫的图片,meow.mp3 应该会播放。这适用于两种不同的活动。此外,我正在寻找一种方法来使来自单一来源(即 MainActivity)的两个活动的声音静音。我试图找出一些代码,但它们的详细程度不足以让我理解。

任何帮助表示赞赏,谢谢!

好吧,这就是我为显示图像(playButtonUp)并打开另一个视图所做的。我需要添加一个 .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;
   }
4

1 回答 1

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 nullmediaPlayer.isPlaying(),否则会出现异常。我希望这会以某种方式帮助你!

于 2013-06-04T07:15:57.800 回答