我正在制作一个音板,我有大约12个媒体播放器,当我在我的模拟器中启动应用程序时,我开始点击一些按钮,其他没有点击的按钮停止产生他们准备制作的声音。
package com.example.husse.randomsounds;
import android.graphics.Typeface;
import android.media.Image;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.TextView;
import android.widget.ImageButton;
import android.content.Intent;
public class Board_one extends AppCompatActivity {
private TextView title1;
private ImageButton cat;
private ImageButton scream;
private ImageButton next;
private ImageButton time;
private ImageButton dogg;
private ImageButton crowd;
private ImageButton gun;
private ImageButton thunder;
private ImageButton forest;
private ImageButton faucet;
private ImageButton alarm;
private ImageButton lazer;
private ImageButton shatter;
public MediaPlayer mplayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_board_one);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//Finding Buttons
title1 = (TextView) findViewById(R.id.textView2);
lazer = (ImageButton)findViewById(R.id.imageButton1234);
shatter = (ImageButton) findViewById(R.id.imageButton8);
alarm = (ImageButton) findViewById(R.id.imageButton91);
scream = (ImageButton) findViewById(R.id.imageButton2);
faucet = (ImageButton) findViewById(R.id.imageButton94);
cat = (ImageButton) findViewById(R.id.imageButton);
next = (ImageButton) findViewById(R.id.imageButton3);
time = (ImageButton) findViewById(R.id.imageButton4);
dogg = (ImageButton) findViewById(R.id.imageButton5);
crowd = (ImageButton) findViewById(R.id.imageButton6);
gun = (ImageButton) findViewById(R.id.imageButton78);
thunder = (ImageButton) findViewById(R.id.imageButton80);
forest = (ImageButton) findViewById(R.id.imageButton90);
//Finding buttons
Typeface mytypeface = Typeface.createFromAsset(getAssets(), "AirstreamNF.otf");
title1.setTypeface(mytypeface);
//Media Players ------------------------------------------------------------------------------------
final MediaPlayer dog = MediaPlayer.create(this, R.raw.meow);
final MediaPlayer faucetsound = MediaPlayer.create(this, R.raw.waterfall);
final MediaPlayer thundersound = MediaPlayer.create(this, R.raw.thundersound);
final MediaPlayer gunshot = MediaPlayer.create(this, R.raw.gunshot);
final MediaPlayer scare = MediaPlayer.create(this, R.raw.screaming);
final MediaPlayer baby = MediaPlayer.create(this, R.raw.timesup);
final MediaPlayer bark = MediaPlayer.create(this, R.raw.dogbarking);
final MediaPlayer boo = MediaPlayer.create(this, R.raw.wow);
final MediaPlayer forestsounds = MediaPlayer.create(this, R.raw.rainforestsound);
final MediaPlayer alaramsound = MediaPlayer.create(this, R.raw.alarm);
final MediaPlayer Lazerso = MediaPlayer.create(this, R.raw.laserbeam);
final MediaPlayer shattersound = MediaPlayer.create(this, R.raw.shattering);
// Animations ---------------------------------------------------------------------
final Animation animation = new AlphaAnimation(1.0f, 0.0f);
animation.setDuration(100);
//---------------------------------------------------------------------------
cat.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
cat.startAnimation(animation);
dog.start();
}
}
);
scream.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
scream.startAnimation(animation);
scare.start();
}
}
);
next.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent dab = new Intent("com.example.husse.randomsounds.Board_two");
startActivity(dab);
}
}
);
time.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
time.startAnimation(animation);
baby.start();
}
}
);
dogg.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
dogg.startAnimation(animation);
bark.start();
}
}
);
crowd.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
crowd.startAnimation(animation);
boo.start();
}
}
);
gun.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
gun.startAnimation(animation);
gunshot.start();
}
});
thunder.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
thunder.startAnimation(animation);
thundersound.start();
}
}
);
forest.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
forest.startAnimation(animation);
forestsounds.start();
}
}
);
faucet.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
faucet.startAnimation(animation);
faucetsound.start();
}
}
);
alarm.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
alarm.startAnimation(animation);
alaramsound.start();
}
}
);
shatter.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
shatter.startAnimation(animation);
shattersound.start();
}
}
);
lazer.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
lazer.startAnimation(animation);
Lazerso.start();
}
}
);
}
}
答案 0 :(得分:0)
我建议你只使用一个媒体播放器:
MediaPlayer mp;
然后,在onCreate方法中:
mp.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
在你的onClick听众身上:
mp.setDataSource(this,R.raw.gunshot);
mp.prepareAsync();