2

我正在开发一个必须使用 Android Video Player 的应用程序。我给这个播放器一个 URI,它有时会运行,有时不会。URI 是在运行时根据定义的过程生成的。

当视频没有播放时,我在 logcat 中收到以下错误。

03-30 12:58:42.918: D/MediaPlayer(4948): Couldn't open file on client side, trying server side
03-30 12:58:43.516: E/MediaPlayer(4948): error (1, -1004)
03-30 12:58:43.516: E/MediaPlayer(4948): Error (1,-1004)
03-30 12:58:43.520: D/VideoView(4948): Error: 1,-1004

我无法理解这个错误。请如果有人可以向我解释这一点。这是我(VideoPlayer)端还是服务器端的问题..???

用于视频播放器的代码如下:

    String url = getIntent().getExtras().getString("videourl");
    VideoView videoView = (VideoView) findViewById(R.id.videoview);
    MediaController mediaController = new MediaController(this);
    mediaController.setAnchorView(videoView);
    Uri video = Uri.parse(url);
    videoView.setMediaController(mediaController);
    videoView.setVideoURI(video);
    videoView.start();

还有一件事,当视频没有播放时,我得到一个错误对话框,它显示:

“抱歉!无法播放此视频。”带有“确定”按钮。当我按下按钮时,视图不会弹回我的应用程序的上一个窗口,而是保留在 VideoPlayer 屏幕上,我必须按两次后退按钮才能返回上一个视图。为什么会这样。。???非常感谢您对所解释问题的任何帮助。

4

1 回答 1

4

form log -1004 表示: public static final int MEDIA_ERROR_IO

对我来说,这总是有效的:

    Uri video = Uri.parse(url);
    mediaController = new MediaController(this);
    mediaController.setAnchorView(videoView);
    videoView.requestFocus();
    videoView.setMediaController(mediaController);
    videoView.setVideoURI(video);

    videoView.setOnPreparedListener(new OnPreparedListener()
    {

        @Override
        public void onPrepared(MediaPlayer arg0)
        {
            videoView.start();
        }
    });
于 2013-06-03T14:44:58.290 回答