I've tried many different ways, but none of them seem to work. This method gets no errors, but does nothing. I'm placing all of my sounds in a subdir under my main project. Most of the code I've tried was different ways like the MediaPlayer and SoundPooling. None of them worked for me and so I tried this. If anyone could correct this for me or get me to a tutorial, that would be great.
package me.javoris767.twds2soundboard;
import java.io.IOException;
import me.javoris767.twds2soundboard.R;
import android.view.View;
import android.app.Activity;
import android.content.res.AssetFileDescriptor;
import android.media.MediaPlayer;
import android.os.Bundle;
public class ClementinePage extends Activity {
MediaPlayer mp=new MediaPlayer();
public boolean isPlaying;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_clementine_page);
}
public void playSound(String file) {
AssetFileDescriptor afd = null;
try {
afd = getAssets().openFd(file);
MediaPlayer player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(),
afd.getLength());
player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer p1) {
p1.start();
isPlaying = true;
}
});
}catch (IOException e) {
e.printStackTrace();
}
}
public void onNoClick(View v) {
playSound("sounds/ohno.mp3");
}
}
Do something like this
//initialising the two new buttons
final Button btSong1 = (Button)findViewById(R.id.btnPlaySong1);
final Button btSong2 = (Button)findViewById(R.id.btnPlaySong2);
//initialising the two new media player instances
song1 = new MediaPlayer();
song1 = MediaPlayer.create(this, R.raw.song3);
song2 = new MediaPlayer();
song2 = MediaPlayer.create(this, R.raw.song4);
//The code for the two buttons go here
btSong1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
//This is where your code will go
switch(stateOfPlaying){
case 0:
song1.start();
stateOfPlaying = 1;
btSong1.setText("Pause Song 1");
btSong2.setVisibility(View.INVISIBLE);
break;
case 1:
song1.pause();
stateOfPlaying = 0;
btSong1.setText("Play Song 1");
btSong2.setVisibility(View.VISIBLE);
break;
}//switch
}//end of onClick
});//btSong1
btSong2.setOnClickListener(new OnClickListener(){
public void onClick(View v){
//This is where your code will go
switch(stateOfPlaying){
case 0:
song2.start();
stateOfPlaying = 1;
btSong2.setText("Pause Song 2");
btSong1.setVisibility(View.INVISIBLE);
break;
case 1:
song2.pause();
stateOfPlaying = 0;
btSong2.setText("Play Song 2");
btSong1.setVisibility(View.VISIBLE);
break;
}//switch
}//end of onClick
});//btSong2