>请在下面找到 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();