2

我有一个将字符串传递给下一个活动的主要活动,下一个活动使用该字符串作为 URL 来打开视频。但是,视频不会播放。

这是我的代码示例:

Bundle extras = getIntent().getExtras();
String MovieLink = (String) extras.get("video");
System.out.println(MovieLink);
VideoView videoView = (VideoView) findViewById(R.id.video);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
Uri video = Uri.parse(MovieLink);
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();

并给出错误:

07-19 15:31:21.857: INFO/StagefrightPlayer(85): setDataSource('landscape_1003_1_m601')
07-19 15:31:21.867: ERROR/MediaPlayer(10132): error (1, -2147483648)
07-19 15:31:21.907: ERROR/MediaPlayer(10132): Error (1,-2147483648)
07-19 15:31:21.907: DEBUG/VideoView(10132): Error: 1,-2147483648
07-19 15:31:22.347: INFO/ActivityManager(126): Displayed com.?.?/.VideoPlayer: +540ms
4

1 回答 1

2

终于解决了我的问题!!

这是我的结果代码:)

super.onCreate(savedInstanceState);
    setContentView(R.layout.video);

    Resources res = getResources();

    Bundle extras = getIntent().getExtras();
    String MovieLink = (String) extras.get("video");
    VideoView vd = (VideoView) findViewById(R.id.video);
    String tmp = MovieLink.replace(".mp4", "");
    int movieID = res.getIdentifier(tmp, "raw", getPackageName());
    Uri uri = Uri.parse("android.resource://" + getPackageName() + "/"
            + movieID);
    MediaController mc = new MediaController(this);
    vd.setMediaController(mc);

    vd.setVideoURI(uri);
    vd.start();
于 2011-07-20T08:08:42.160 回答