android - “无法播放此视频”错误使用带有 VideoView 和 Mediacontroller 的 URL
问题描述
所以我正在尝试做我的作业,但是老师给了我0个关于这个的信息。有一个如何从 res/raw 文件夹中的文件播放视频的示例,但没有关于在线 URL 的内容。请帮帮我,我只想要一个简单的播放器。我会附上一张图片,详细说明发生了什么。我还将添加代码,因为它不是那么多,而且我真的不知道可能出了什么问题。错误是这样说的:
W/MediaPlayer:无法打开http://techslides.com/ ...
java.io.FileNotFoundException: No content provider: http://techslides.com/demos/sample-videos/small.mp4
这是代码:
VideoView video;
String url = "http://techslides.com/demos/sample-videos/small.mp4";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
video = (VideoView) findViewById(R.id.videoView);
MediaController mc = new MediaController(this);
mc.setAnchorView(mc);
video.setVideoPath(url);
video.setMediaController(mc);
video.start();
}
最后我要补充一点,我已经尝试了几个不同的 URL,包括一些 https 和一些 http。
编辑:所以,我尝试修复它,它最终看起来像这样:
video = (VideoView) findViewById(R.id.videoView);
final MediaController mc = new MediaController(this);
mc.setAnchorView(mc);
video.setVideoPath(url);
video.setMediaController(mc);
video.setOnPreparedListener(new MediaPlayer.OnPreparedListener(){
@Override
public void onPrepared(MediaPlayer mp){
video.start();
}
});
但是当emu打开时它仍然给我同样的错误。“无法播放此视频”。另一方面,我得到了一堆新错误:
E/MediaPlayerNative: 错误 (1, -2147483648)
E/MediaPlayer: 错误 (1,-2147483648)
D/VideoView: 错误: 1,-2147483648
我对这项技术并不是很熟悉,老师也没有给我们任何关于代码中应该或不应该在什么地方工作的概念。只是一个在 Android Studio 中使用 VideoView 播放的本地存储视频的示例......当应用于在线 URL 时不起作用。
解决方案
所以我最终自己修复了它。问题不在代码中,对于任何想知道我最终使用这种简单格式的人来说:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
video = (VideoView) findViewById(R.id.video);
Uri uri = Uri.parse("http://techslides.com/demos/sample-videos/small.mp4");
video.setMediaController(new MediaController(this));
video.setVideoURI(uri);
video.requestFocus();
video.start();
}
问题出在 AVD 本身。我有一台运行 Android 9 的 Pixel 1,但由于某种原因无法正常工作。我已经用 Oreo 安装了 Nexus 5,它运行完美。
推荐阅读
- selenium-webdriver - 无法在页面对象类中使用 WebElements 对象
- html - 如何在文档的最大宽度中输入输入?
- javascript - Vue.js 3 - 在 vue 中使用 Vue I18n 插件时出错 - 无法设置未定义的属性“_vm”
- javascript - 反向单词功能不起作用,我收到多个错误
- qt - 使用 Qt 将文件复制到构建目录
- php - 在 WooCommerce 中隐藏购物车中的“删除项目”和“数量输入”
- java - Apache HttpClient:测量响应时间的正确方法
- reactjs - 如何制作上下文菜单以响应事件的 Fullcalendar?
- swift - 基于视图的 NSTableView 滚动性能
- javascript - 每次在服务器上引发异常时都必须重新启动 Meteor