android - 安卓播放网络视频怎么实现?
问题描述
我最近想实现一个功能,是在文章中嵌入一个视频播放的功能。效果如图。
就是点击之后全屏播放。视频是在线视频,视频源来自腾讯,优酷,也有百度云的源文件。现在是看过了vitamio开源库,因为导入后太大了,所以打算放弃。videoview好像是可以播放网络视频的,但是我试了一下并没有成功,不清楚具体原因是什么。。是视频源的问题吗?贴一下代码
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Uri uri = Uri.parse('http://v.qq.com/x/cover/c4d0gfkiguexa9h/q0328qbk05q.html');VideoView videoView = (VideoView) findViewById(R.id.videoView);videoView.setMediaController(new MediaController(this));videoView.setVideoURI(uri);videoView.requestFocus();videoView.start(); }}
网络权限已经添加了。在这里诚心向各位请教这个问题,或有介绍视频播放的文章,或有轻量级的开源库,或者有过开发经验的,希望各位能指导一下。
问题解答
回答1:你的视频地址不正确,VideoView播放视频你好歹要给个类似 'http://.mp4' 的视频地址吧,你直接扔个网页上去播放不了的。还有,你的视频如果是RTMP、m3u8等直播视频,原生VideoView是播放不了的,需要借助第三方库如ijkPlayer或者自己写解析(不推荐)。
相关文章:
1. javascript - npm start 运行’webpack-dev-server’报错 Cannot find module ’webpack’2. 为什么我ping不通我的docker容器呢???3. 关于docker下的nginx压力测试4. 服务器端 - 采用nginx做web服务器,C++开发应用程序 出现拒绝连接请求?5. python - pandas按照列A和列B分组,将列C求平均数,怎样才能生成一个列A,B,C的dataframe6. javascript - nidejs环境设置操作一直出现这种问题怎么解决?7. java - Tomcat 不同的域名访问同一个项目的不同网页8. java - 静态属性中的赋值和静态代码块中的赋值有什么区别?9. dockerfile - [docker build image失败- npm install]10. javascript - Angular controlller控制域和原生js的关系
