KB-20071205-024
From Triled Wiki
- Status: opened
- author: Ledavin
- link:
- Ledavin: http://groups.google.com/group/android-developers/msg/ff704b779a4ffdda
- suggested as bug by sergkr: http://groups.google.com/group/android-developers/msg/836bc9a304151606
- Description: Media Player does not play anything from network, neither with http nor rtsp links. It loads some data in buffer but there is no sound (or error messages) at all.
- Steps to reproduce:
sample file:
package net.esmerla.android.player;
import android.app.Activity;
import android.media.AudioSystem;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
public class Player extends Activity {
/** Called when the activity is first created. */
private MediaPlayer player;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
try {
player = new MediaPlayer();
player.setOnBufferingUpdateListener(mOnBufferingUpdateListener);
player.setOnPreparedListener(mOnPreparedListener);
player.setOnErrorListener(mOnErrorListener);
player.setOnCompletionListener(mOnCompletionListener);
player.setDataSource("http://myurl.com/fever.mp3");
player.setAudioStreamType(AudioSystem.STREAM_MUSIC);
Log.i(">>>>>","Preparing");
player.prepareAsync();
setContentView(R.layout.main);
}catch(Exception e){
Log.e(">>>>>","Error ",e);
}
}
private MediaPlayer.OnBufferingUpdateListener mOnBufferingUpdateListener = new MediaPlayer.OnBufferingUpdateListener()
{
public void onBufferingUpdate(MediaPlayer mediaPlayer, int i) {
Log.i(">>>", "Update buffer: " + i + "%");
if (i == 20){
Log.i(">>>>>","Starting player");
mediaPlayer.start();
Log.i(">>>>>","Started player");
}
}
};
private MediaPlayer.OnPreparedListener mOnPreparedListener = new MediaPlayer.OnPreparedListener()
{
public void onPrepared(MediaPlayer mp) {
Log.i(">>>","Prepared Listener");
}
};
private MediaPlayer.OnErrorListener mOnErrorListener = new MediaPlayer.OnErrorListener()
{
public void onError(MediaPlayer mp, int what, int extra) {
Log.i(">>>","Error on Listener, what: " + what + " extra: " + extra);
}
};
private MediaPlayer.OnCompletionListener mOnCompletionListener = new MediaPlayer.OnCompletionListener()
{
public void onCompletion(MediaPlayer mp) {
Log.i(">>>","Listener Completed");
}
};
}
Produced output:
D/PackageManager(474): Removing package net.esmerla.android.player
D/PackageManager(474): Activities: net.esmerla.android.player.Player
D/ActivityManager(474): Force removing app null (net.esmerla.android.player)
D/PackageParser(474): Scanning package: /data/app/Player.apk
D/PackageManager(474): Adding package net.esmerla.android.player
D/AndroidRuntime(822): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
D/PackageManager(474): Activities: net.esmerla.android.player.Player
D/jdwp(822): JDWP listening on port 8004
D/AndroidRuntime(822): --- registering native functions ---
I/ActivityManager(474): Starting activity: Intent { launchFlags=4 comp={net.esmerla.android.player/net.esmerla.android.player.Player} }
I/ActivityThread(474): Loading resource-only package net.esmerla.android.player (in null)
D/AndroidRuntime(822): Shutting down VM
D/dalvikvm(822): DestroyJavaVM waiting for non-daemon threads to exit
I/dalvikvm(822): DestroyJavaVM shutting VM down
D/dalvikvm(822): HeapWorker thread shutting down
D/dalvikvm(822): HeapWorker thread has shut down
D/jdwp(822): JDWP shutting down net...
D/jdwp(822): Got wake-up signal, bailing out of select
I/dalvikvm(822): Debugger has detached; object registry had 5 entries
D/dalvikvm(822): All daemon threads shut down, cleaning up
D/dalvikvm(822): LinearAlloc 0x0 used 483404 of 4194304 (11%)
I/ActivityManager(474): Starting app process net.esmerla.android.player to host activity {net.esmerla.android.player/net.esmerla.android.player.Player}: pid=827
D/jdwp(827): JDWP listening on port 8004
I/ActivityThread(827): Loading code package net.esmerla.android.player (in net.esmerla.android.player)
I/dalvikvm(827): DexOpt: source file mod time mismatch (37847a93 vs 37847b66)
D/dalvikvm(827): Stale deps in cache file; removing and retrying
D/dalvikvm(827): DexOpt: --- BEGIN 'Player.apk' (bootstrap=0) ---
D/dalvikvm(827): DexOpt: waiting for verify+opt, pid=832
D/dalvikvm(832): DexOpt: load 142ms, verify 0ms, opt 65ms
D/dalvikvm(827): DexOpt: --- END 'Player.apk' (success) ---
D/dalvikvm(827): DEX prep '/data/app/Player.apk': unzip in 30ms, rewrite 2831ms
D/ActivityThread(827): Performing launch of ActivityRecord{40085720 {net.esmerla.android.player/net.esmerla.android.player.Player}}
I/>>>>>(827): Preparing
W/ActivityManager(474): Activity idle timeout for HistoryRecord{4011e248 {net.esmerla.android.player/net.esmerla.android.player.Player}} ({net.esmerla.android.player/net.esmerla.android.player.Player})
I/>>>(827): Update buffer: 0%
I/>>>(827): Error on Listener, what: 1 extra: 0
I/>>>(827): Update buffer: 1%
I/>>>(827): Update buffer: 2%
I/>>>(827): Update buffer: 3%
I/>>>(827): Update buffer: 4%
I/>>>(827): Update buffer: 5%
I/>>>(827): Update buffer: 6%
I/>>>(827): Update buffer: 7%
I/ActivityManager(474): Displayed activity {net.esmerla.android.player/net.esmerla.android.player.Player}: 40376 ms
D/ActivityManager(474): Stopping: HistoryRecord{40179ac0{com.google.android.home/com.google.android.home.Home}}
I/>>>(827): Update buffer: 8%
I/>>>(827): Update buffer: 9%
I/>>>(827): Update buffer: 10%
I/>>>(827): Update buffer: 11%
I/>>>(827): Update buffer: 12%
I/>>>(827): Update buffer: 13%
I/>>>(827): Update buffer: 14%
I/>>>(827): Update buffer: 15%
I/>>>(827): Update buffer: 16%
I/>>>(827): Update buffer: 17%
I/>>>(827): Update buffer: 18%
I/>>>(827): Update buffer: 19%
I/>>>(827): Update buffer: 20%
I/>>>>>(827): Starting player
I/>>>>>(827): Started player
I/>>>(827): Update buffer: 21%
I/>>>(827): Update buffer: 22%
I/>>>(827): Update buffer: 23%
I/>>>(827): Update buffer: 24%
I/>>>(827): Update buffer: 25%
I/>>>(827): Update buffer: 26%
I/>>>(827): Update buffer: 27%
I/>>>(827): Update buffer: 28%
I/>>>(827): Update buffer: 29%
I/>>>(827): Update buffer: 30%
I/>>>(827): Update buffer: 31%
I/>>>(827): Update buffer: 32%
I/>>>(827): Update buffer: 33%
I/>>>(827): Update buffer: 34%
I/>>>(827): Update buffer: 35%
I/>>>(827): Update buffer: 36%
I/>>>(827): Update buffer: 37%
I/>>>(827): Update buffer: 38%
I/>>>(827): Update buffer: 39%
I/>>>(827): Update buffer: 40%
I/>>>(827): Update buffer: 41%
I/>>>(827): Update buffer: 42%
I/>>>(827): Update buffer: 43%
I/>>>(827): Update buffer: 44%
I/>>>(827): Update buffer: 45%
I/>>>(827): Update buffer: 46%
I/>>>(827): Update buffer: 47%
I/>>>(827): Update buffer: 48%
I/>>>(827): Update buffer: 49%
I/>>>(827): Update buffer: 50%
I/>>>(827): Update buffer: 51%
I/>>>(827): Update buffer: 52%
I/>>>(827): Update buffer: 53%
I/>>>(827): Update buffer: 54%
I/>>>(827): Update buffer: 55%
I/>>>(827): Update buffer: 56%
I/>>>(827): Update buffer: 57%
I/>>>(827): Update buffer: 58%
I/>>>(827): Update buffer: 59%
I/>>>(827): Update buffer: 60%
I/>>>(827): Update buffer: 61%
I/>>>(827): Update buffer: 62%
I/>>>(827): Update buffer: 63%
I/>>>(827): Update buffer: 64%
I/>>>(827): Update buffer: 65%
I/>>>(827): Update buffer: 66%
I/>>>(827): Update buffer: 67%
I/>>>(827): Update buffer: 68%
I/>>>(827): Update buffer: 69%
I/>>>(827): Update buffer: 70%
I/>>>(827): Update buffer: 71%
I/>>>(827): Update buffer: 72%
I/>>>(827): Update buffer: 73%
I/>>>(827): Update buffer: 74%
I/>>>(827): Update buffer: 75%
I/>>>(827): Update buffer: 76%
I/>>>(827): Update buffer: 77%
I/>>>(827): Update buffer: 78%
I/>>>(827): Update buffer: 79%
I/>>>(827): Update buffer: 80%
I/>>>(827): Update buffer: 81%
I/>>>(827): Update buffer: 82%
I/>>>(827): Update buffer: 83%
I/>>>(827): Update buffer: 84%
I/>>>(827): Update buffer: 85%
I/>>>(827): Update buffer: 86%
I/>>>(827): Update buffer: 87%
I/>>>(827): Update buffer: 88%
I/>>>(827): Update buffer: 89%
I/>>>(827): Update buffer: 90%
I/>>>(827): Update buffer: 91%
I/>>>(827): Update buffer: 92%
I/>>>(827): Update buffer: 93%
I/>>>(827): Update buffer: 94%
I/>>>(827): Update buffer: 95%
I/>>>(827): Update buffer: 96%
I/>>>(827): Update buffer: 97%
I/>>>(827): Update buffer: 98%
I/>>>(827): Update buffer: 99%
E/PlayerDriver(827): HandleInformationalEvent: type=37 UNHANDLED
I/ActivityManager(474): Done launching {net.esmerla.android.player/net.esmerla.android.player.Player}: 110363 ms
I/>>>(827): Update buffer: 100%
Same code works fine for local files.
Note: Needs more confirmations.
