我正在尝试使用 播放实时 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();
}
});
}
}
此代码在三星 Galaxy Y 上运行良好,甚至在模拟器上也能正常运行,但在三星 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
我无法弄清楚这些错误代码是关于什么的。
三星 Galaxy S2 的流媒体是否存在任何问题?我也尝试过使用 YouTube 流 ( rtsp://v2.cache2.c.youtube.com/CjgLENy73wIaLwm3JbT_9HqWohMYESARFEIJbXYtZ29vZ2xlSARSB3Jlc3VsdHNg_vSmsbeSyd5JDA==/0/0/0/video.3gp
),但都是一样的。
更新: 后来我用 Galaxy S2 录制了一个视频(格式:3GP,编码器:H.264,比特率:56kbps,帧率:15fps)并使用 VLC 媒体播放器从 PC 流式传输视频。这个可以在 Galaxy S2(和其他)中查看,没有任何错误。但是,无法在 S2 上播放其他视频。