De acuerdo con las notas de la versión, StageFright reemplaza el marco de OpenCore en la versión de GingerBread. Parece que ha habido numerosas discusiones que dicen: la transmisión HTTP Live de Apple es compatible por defecto desde Android 2.3. Incluso el Wikipedia menciona esto.
Sin embargo, cuando trato de ejecutar el test stream proporcionado por Apple mediante el MediaPlayerDemo_Video.java
incluido con la API Demos consigo las siguientes excepciones: MediaPlayer Framework en GingerBread y HTTP Live Streaming Support de Apple
setDataSource('http://devimages.apple.com/iphone/samples/bipbop/gear1/
prog_index.m3u8')
connect to devimages.apple.com:80/iphone/samples/bipbop/gear1/
prog_index.m3u8 @0
INFO/NuCachedSource2(34): ERROR_END_OF_STREAM
error (1, -2147483648)
ERROR/MediaPlayerDemo(667): error: Prepare failed.: status=0x1
java.io.IOException: Prepare failed.: status=0x1
at android.media.MediaPlayer.prepare(Native Method)
at
com.video.stream.MediaPlayerDemo_Video.playVideo(MediaPlayerDemo_Video.java:
125)
at
com.video.stream.MediaPlayerDemo_Video.surfaceCreated(MediaPlayerDemo_Video.java:
181)
...
surfaceChanged called
Displayed com.video.stream/.MediaPlayerDemo_Video: +1s652ms (total
+7s427ms)
GC_EXPLICIT freed 2K, 55% free 2514K/5511K, external 716K/1038K,
paused 183ms
GC_EXPLICIT freed 17K, 52% free 2782K/5767K, external 716K/1038K,
paused 87ms
GC_EXPLICIT freed 68K, 50% free 2972K/5895K, external 2544K/3109K,
paused 104ms
request time failed: java.net.SocketException: Address family not
supported by protocol
--- código relevante (MediaPlayerDemo_Video.java):
path = "http://devimages.apple.com/iphone/samples/bipbop/gear1/
prog_index.m3u8";
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(path);
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepare();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
Preguntas:
1. ¿La compilación GingerBread es realmente compatible con el protocolo HTTP Live Streaming de Apple?
2. ¿Qué salió mal anteriormente?
Por favor ayuda.
He añadido un {{citation needed}} en la página Wiki y parece que el autor ha respondido cambiando la sección. – Samuh
Preview SDK for Honeycomb está disponible para descargar y se anuncia para admitir m3U8. sin embargo, no pude reproducir el flujo de prueba de Apple. – Samuh
He archivado un error para esto: http://code.google.com/p/android/issues/detail?id=14646&q=stars%3D2&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars – Samuh