Платформа MediaPlayer в GingerBread и поддержка потоковой передачи HTTP в реальном времени Apple

Согласно примечаниям к выпуску, StageFright заменяет платформу OpenCore в выпуске GingerBread. Похоже, что было много дискуссий, в которых говорилось: потоковая передача Apple HTTP Live поддерживается по умолчанию, начиная с Android 2.3. Об этом упоминается даже в Википедии .
Однако, когда я пытаюсь запустить тестовый поток , предоставленный Apple, используя MediaPlayerDemo_Video.java в комплекте с API Demos, я получаю следующие исключения:

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 

--- соответствующий код (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);

Вопросы:
1. Действительно ли сборка GingerBread поддерживает HTTP-трансляцию Apple в реальном времени? протокол?
2. Что вышло не так?

Пожалуйста, помогите.

5
задан Samuh 19 January 2011 в 13:25
поделиться