【问题标题】:VideoView unexpected error: the video is not playingVideoView 意外错误:视频未播放
【发布时间】:2011-10-08 13:12:09
【问题描述】:

我有一个将字符串传递给下一个活动的主要活动,下一个活动使用该字符串作为 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

【问题讨论】:

  • 你有关于视频格式的信息吗?在这里developer.android.com/guide/appendix/media-formats.html 您可以找到哪种格式有效的信息。这也取决于设备。
  • 该设备是摩托罗拉 Xoom,文件本身可以正常播放。但是当集成到应用程序中时它不起作用:) 它是一个 mp4 文件,我已经对其进行了研究。
  • 代码播放视频在我的模拟器中工作,所以我可能会在 MovieLink 中寻找问题 - 打印它并查看它的外观?当我将链接放入此代码时 - 没关系。当您告诉“文件本身可以正常播放”时,这意味着您正在其他播放器中播放视频?也许它有额外的编码方法?
  • 我的意思是,如果我只是在平板电脑上的任何播放器中播放文件,它就可以工作,但我发现出了什么问题;)确实是 MovieLink 的问题,它只包含原始资源。我找到了解决方案,发布在下面,并使其动态化:)

标签: android android-mediaplayer media android-videoview mp4


【解决方案1】:

终于解决了我的问题!!

这是我的结果代码:)

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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多