Я пытаюсь воспроизвести живое RTSP-видео (от rtsp://media2.tripsmarter.com/LiveTV/BTV/
) с помощью VideoView
, и вот мой код:
public class ViewTheVideo extends Activity {
VideoView vv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
vv = (VideoView) this.findViewById(R.id.VideoView);
Uri videoUri = Uri.parse("rtsp://media2.tripsmarter.com/LiveTV/BTV/");
vv.setMediaController(new MediaController(this));
vv.setVideoURI(videoUri);
vv.requestFocus();
vv.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
vv.start();
}
});
}
}
Этот код отлично работает на Samsung Galaxy Y и даже на эмуляторе, но не работает на Samsung Galaxy S2 (извините, это видео невозможно воспроизвести)! И устройства, и эмулятор работают под управлением Gingerbread.
Вот сообщения LogCat:
07-30 10:48:28.310: I/MediaPlayer(24573): uri is:rtsp://media2.tripsmarter.com/LiveTV/BTV/
07-30 10:48:28.310: I/MediaPlayer(24573): path is null
07-30 10:48:28.310: D/MediaPlayer(24573): Couldn't open file on client side, trying server side
07-30 10:49:13.025: W/MediaPlayer(24573): info/warning (1, 26)
07-30 10:49:13.025: I/MediaPlayer(24573): Info (1,26)
07-30 10:49:13.075: E/MediaPlayer(24573): error (1, -1)
07-30 10:49:13.075: E/MediaPlayer(24573): Error (1,-1)
07-30 10:49:13.075: D/VideoView(24573): Error: 1,-1
Я не мог понять, о чем эти коды ошибок.
Есть ли проблемы с потоковой передачей на Samsung Galaxy S2? Я также пробовал с потоком YouTube (rtsp://v2.cache2.c.youtube.com/CjgLENy73wIaLwm3JbT_9HqWohMYESARFEIJbXYtZ29vZ2xlSARSB3Jlc3VsdHNg_vSmsbeSyd5JDA==/0/0/0/video.3gp
), но все равно.
Обновление: позже я записал видео на Galaxy S2 (формат: 3GP, кодировщик: H.264, битрейт: 56 кбит/с, частота кадров: 15 кадров в секунду) и транслировал видео с ПК с помощью медиаплеера VLC. Этот можно просматривать в Galaxy S2 (и других) без ошибок. Однако никакое другое видео не могло быть воспроизведено на S2.