5

我正在尝试使用 播放实时 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 上播放其他视频。

4

1 回答 1

-2

@Andro Selva this is how I streamed his link

 video_url = "rtsp://media2.tripsmarter.com/LiveTV/BTV/"; 
try {
            videoView =(VideoView)findViewById(R.id.videoView1);
            //Set video link (mp4 format )
            Uri video = Uri.parse(video_url);
            videoView.setVideoURI(video);
            videoView.setOnPreparedListener(new OnPreparedListener() {
            public void onPrepared(MediaPlayer mp) {

                videoView.start();
                }
            });
         }catch(Exception e){
         }
于 2012-07-30T05:28:15.540 回答