package com.PP.LunarTabsAndroid.APIs;
import java.io.File;
import java.io.FileDescriptor;
import java.io.FileInputStream;
import android.media.MediaPlayer;
public class MediaPlayerAPI implements MediaPlayer.OnCompletionListener {
//singleton
protected static MediaPlayer mediaPlayer;
protected MediaPlayerAPI() {
mediaPlayer = new MediaPlayer();
mediaPlayer.setOnCompletionListener(this);
}
protected static MediaPlayerAPI instance = null;
public static MediaPlayerAPI getInstance() {
if(instance==null) {
instance = new MediaPlayerAPI();
}
return instance;
}
public void play(String filePath) {
try {
//load file
File f = new File(filePath);
FileInputStream fis = new FileInputStream(f);
FileDescriptor fd = fis.getFD();
//disable stt
//play
mediaPlayer.setDataSource(fd);
mediaPlayer.prepare();
mediaPlayer.start();
}
catch(Exception e) {
e.printStackTrace();
}
}
public void stop() {
if(mediaPlayer!=null && mediaPlayer.isPlaying()) {
onCompletion(mediaPlayer);
}
}
@Override
public void onCompletion(MediaPlayer mp) {
//clear memory of media player
// mp.release();
mediaPlayer.stop();
mp.reset();
//delete temporary files
TuxGuitarUtil.cleanUp(FileOpAPI.SAVE_PATH);
//re-enable stt
}
}