Android : Android >=5.0 MediaPlayer prepare fails

on Monday, March 23, 2015


I'm having an issue with MediaPlayer on devices Android SDK >= 21 with playing stream media (videos and audio in mp4/mp3).As excpected everything works fine for older devices. I've searched some topics nad found it may be case of NuPlayer which is experimental replacement for AwesomePlayer but that doesn't solve my problem, even after changing it back to AP.


I'm stuck so I appreciate any help.


My code:




new AsyncTask() {

@Override
protected Void doInBackground(String... paths) {
if (mPlayer == null) {
mPlayer = new MediaPlayer();
} else {
mPlayer.reset();
}

if (mPlayer != null && mPlayer.isPlaying()) {
mPlayer.start();
}
String source = paths[0];


try {

mPlayer.setDataSource(source);
mPlayer.prepare();

mPlayer.start();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}


My stack trace is as follows :




03-23 16:19:19.582: D/MediaPlayer(8241): Couldn\'t open file on client side, trying server side
03-23 16:19:53.902: E/MediaPlayer(8241): error (1, -2147483648)
03-23 16:19:53.905: D/MediaPlayer(8241): create failed:
03-23 16:19:53.905: D/MediaPlayer(8241): java.io.IOException: Prepare failed.: status=0x1
03-23 16:19:53.905: D/MediaPlayer(8241): at android.media.MediaPlayer._prepare(Native Method)
03-23 16:19:53.905: D/MediaPlayer(8241): at android.media.MediaPlayer.prepare(MediaPlayer.java:1125)
03-23 16:19:53.905: D/MediaPlayer(8241): at android.media.MediaPlayer.create(MediaPlayer.java:866)
03-23 16:19:53.905: D/MediaPlayer(8241): at android.media.MediaPlayer.create(MediaPlayer.java:839)
03-23 16:19:53.905: D/MediaPlayer(8241): at android.media.MediaPlayer.create(MediaPlayer.java:818)
03-23 16:19:53.905: D/MediaPlayer(8241): at myapp.FrameVideo$6.doInBackground(FrameVideo.java:609)
03-23 16:19:53.905: D/MediaPlayer(8241): at myapp.FrameVideo$6.doInBackground(FrameVideo.java:1)
03-23 16:19:53.905: D/MediaPlayer(8241): at android.os.AsyncTask$2.call(AsyncTask.java:288)
03-23 16:19:53.905: D/MediaPlayer(8241): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
03-23 16:19:53.905: D/MediaPlayer(8241): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
03-23 16:19:53.905: D/MediaPlayer(8241): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
03-23 16:19:53.905: D/MediaPlayer(8241): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
03-23 16:19:53.905: D/MediaPlayer(8241): at java.lang.Thread.run(Thread.java:818)

0 comments:

Post a Comment