Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android VideoView意外错误:视频未播放_Android_Android Mediaplayer_Media_Android Videoview_Mp4 - Fatal编程技术网

Android VideoView意外错误:视频未播放

Android VideoView意外错误:视频未播放,android,android-mediaplayer,media,android-videoview,mp4,Android,Android Mediaplayer,Media,Android Videoview,Mp4,我有一个将字符串传递给下一个活动的主活动,下一个活动使用该字符串作为URL来打开视频。但是,视频不会播放 以下是我的代码示例: Bundle extras = getIntent().getExtras(); String MovieLink = (String) extras.get("video"); System.out.println(MovieLink); VideoView videoView = (VideoView) findViewById(R.id.video); Media

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

终于解决了我的问题

这是我的结果代码:)


你有关于视频格式的信息吗?在这里,您可以找到使用哪种格式的信息。此外,它还取决于设备。该设备是摩托罗拉Xoom,文件本身也能正常播放。但是当集成到应用程序中时,它不起作用:)它是一个mp4文件,我已经对它进行了研究。播放视频的代码在我的模拟器中起作用,所以我可能会在MovieLink中查找问题-打印它,看看它是什么样子?当我把我的链接放在这段代码中时——没关系。当你说“文件本身可以自己播放”时,这意味着你在用其他播放器播放视频?也许它有额外的编码方法?我的意思是,如果我只是在平板电脑上的任何播放器中播放该文件,它就会工作,但我发现了问题所在;)它确实与MovieLink有关,它只包含原始资源的名称。我找到了解决方案,发布在下面,并将其动态化:)
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();