安卓:无法使用视频视图播放视频



>请在下面找到 xml

<VideoView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>

爪哇代码:

String url = "android.resource://com.example.androidtutorial/" + R.raw.instructions;
videoView.setVideoURI(Uri.parse(url));
videoView.start();

错误显示在日志猫中:

2019-10-20 10:51:16.708 5063-5063/? E/androidtutoria: Unknown bits set in runtime_flags: 0x8000
2019-10-20 10:51:22.825 5063-5080/com.example.androidtutorial E/MediaPlayerNative: error (1, -2147483648)
2019-10-20 10:51:23.178 5063-5063/com.example.androidtutorial E/MediaPlayer: Error (1,-2147483648)

我在互联网上看到许多使用相同的代码的示例,但就我而言,它不起作用。

我建议您使用WebView而不是视频视图。

那会更好。

但对于你的答案

1.检查您的连接

2.检查您的权限

3.检查使用调试构建的 URL

4.把启动方法放在尝试捕获中

现在它似乎在这一行中存在问题:

videoView.setVideoURI(Uri.parse(url));

URI 表示设备中的文件路径而不是 URL,请检查它并重试。

您可以在评论中更新我

编辑: 使用此方法:

public Uri getRawUri(String filename) {
return Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + 
File.pathSeparator + File.separator + getPackageName() + "/raw/" + 
filename);
}

下一个解决方案:使用Uri.fromFile而不是Uri.parse

使用以下 2 种方法:

video.setVideoURI(URI);
video.setMediaController(new MediaController(this));
video.requestFocus();
video.start();

onCreate()方法中尝试此操作:

Uri URI = getRawUri(instructions);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(video)
video.setVideoURI(URI);
video.setMediaController(mediaController);
video.requestFocus();
video.start();

最新更新