I'm trying to setDataSource for my mediaplayer but when I do that I get IllegalArgumentException. I couldn't identify the prob, is there anything missing?
mediaPlayer = new MediaPlayer();
try{
mediaPlayer.setDataSource(getPathName);
}catch(IllegalArgumentException e){
throw new RuntimeException("Illegal Argument to MediaPlayer.setDataSource", e);
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
throw new RuntimeException("Illegal State in MediaPlayer.setDataSource", e);
} catch (IOException e) {
// TODO Auto-generated catch block
throw new RuntimeException("IOException in MediaPlayer.setDataSource", e);
}
try{
mediaPlayer.prepare();
}catch(IllegalStateException e){
throw new RuntimeException("IllegalStateException in MediaPlayer.prepare", e);
} catch (IOException e) {
// TODO Auto-generated catch block
throw new RuntimeException("IOException in MediaPlayer.prepare", e);
}
mediaPlayer.setOnCompletionListener(this);
}
this is a method that I call to return the file name
public String getPathName(){
String[] name = new String[2];
String FileName;
String FilePath;
File sdCardRoot = Environment.getExternalStorageDirectory();
File yourDir = new File(sdCardRoot, "/Android/data/com.voice.recording.v3/files/");
name = yourDir.list();
FileName = name[0];
FilePath = yourDir.getPath() +"/" + FileName;
return FilePath;
}