On my first click on image, sound is not playing, on second click sound play but If I click on same button twice or more time it's keep all before clicked audio playing in the background and play again and again. Please help , I am Beginner's, Here is my code:
import android.content.Context;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends ActionBarActivity {
private static MediaPlayer mp = null;
ImageView im;
/**
* Stop old sound and start new one
*/
public static void play(Context context, int resource) {
stop(context);
mp = MediaPlayer.create(context, resource);
mp.setLooping(false);
mp.start();
}
/**
* Stop the music
*/
public static void stop(Context context) {
if (mp != null) {
mp.stop();
mp.release();
mp = null;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// getWindow().setFormat(PixelFormat.RGBA_8888);
// getWindow().addFlags(WindowManager.LayoutParams.FLAG_DITHER);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
public void biggerView(View v)
{
im = (ImageView) findViewById(R.id.selected);
switch (v.getId())
{
case R.id.image1:
im.setImageResource(R.drawable.im1);
//MediaPlayer.create(getApplicationContext(), R.raw.play1).start();
findViewById(R.id.image1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
play(getApplicationContext(), R.raw.play8);
}
});
break;
case R.id.image2:
im.setImageResource(R.drawable.im2);
findViewById(R.id.image2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
play(getApplicationContext(), R.raw.play2);
}
});
break;
case R.id.image3:
im.setImageResource(R.drawable.im3);
findViewById(R.id.image3).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
play(getApplicationContext(), R.raw.psicek);
}
});
break;
case R.id.image4:
im.setImageResource(R.drawable.im4);
//MediaPlayer.create(getApplicationContext(), R.raw.play4).start();
break;
case R.id.image5:
im.setImageResource(R.drawable.im5);
//MediaPlayer.create(getApplicationContext(), R.raw.play5).start();
break;
case R.id.image6:
im.setImageResource(R.drawable.im6);
//MediaPlayer.create(getApplicationContext(), R.raw.play6).start(); //just test with diff start
break;
case R.id.image7:
im.setImageResource(R.drawable.im7);
//mp = MediaPlayer.create(MainActivity.this, R.raw.play7); //just test with diff start
//mp.start();
break;
case R.id.image8:
im.setImageResource(R.drawable.petelin);
//mp = MediaPlayer.create(MainActivity.this, R.raw.play8);
//mp.start();
play(getApplicationContext(), R.raw.petelin_rooster);
//Toast.makeText(getApplicationContext(),"Kliknil na 8 (osmo) slikco !",Toast.LENGTH_LONG).show();
}
}
}
Aucun commentaire:
Enregistrer un commentaire