android:自己实现能播放网络视频url的播放器

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

android原生自带的播放器一般只能播放本地视频,而没有播放url的功能。不过android系统中有一个VideoView的控件可以实现这一功能。

简单实现如下:

public class MyVideoPlay extends Activity implements MediaPlayer.OnErrorListener,MediaPlayer.OnCompletionListener {public static final String TAG = "MyVideoPlay";private VideoView mVideoView;private Uri mUri;private int mPositionWhenPaused = -1;private MediaController mMediaController;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.video_view);//Set the screen to landscape.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);mVideoView = (VideoView)findViewById(R.id.my_video_view);//Video fileIntent it = getIntent();mUri = Uri.parse(it.getStringExtra("netUrl"));//Create media controllermMediaController = new MediaController(this);mVideoView.setMediaController(mMediaController);mVideoView.setOnCompletionListener(new OnCompletionListener() {			@Overridepublic void onCompletion(MediaPlayer mp) {// TODO Auto-generated method stubMyVideoPlay.this.finish();}});}public void onStart() {// Play Videoif (mVideoView != null && mUri != null) {mVideoView.setVideoURI(mUri);mVideoView.start();} else {Toast.makeText(MyVideoPlay.this, "发生错误", Toast.LENGTH_SHORT).show();}super.onStart();}public void onPause() {mPositionWhenPaused = mVideoView.getCurrentPosition();mVideoView.stopPlayback();       super.onPause();}public void onResume() {// Resume video playerif(mPositionWhenPaused >= 0) {mVideoView.seekTo(mPositionWhenPaused);mPositionWhenPaused = -1;}super.onResume();}public boolean onError(MediaPlayer player, int arg1, int arg2) {return false;}public void onCompletion(MediaPlayer mp) {MyVideoPlay.this.finish();}
}

 截图:

 

转载于:https://my.oschina.net/nicksong/blog/149264

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293097.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS调用系统相册、相机 显示中文标题

2019独角兽企业重金招聘Python工程师标准>>> 最终在info.plist设置解决问题 发现在项目的info.plist里面添加Localized resources can be mixed 设置为: YES(表示是否允许应用程序获取框架库内语言)即可解决这个问题。 转载于:htt…

使用云原生应用和开源技术的创新攻略

Kubernetes 和云原生应用的增长以及普及是现象级的。根据 IDC 的数据,到2025年,90%以上的新应用程序将是云原生的。许多客户已受益于云原生设计模型,让新一代应用程序更加敏捷、可靠、可扩展,还兼顾了安全。说到服务的开发&#x…

SVM支持向量机原理及核函数

原文链接:SVM支持向量机原理及核函数 转载请注明出处 支持向量机原理 大距离分类算法 1、名词解释: 分割超平面:如下图所示,构造一个分割线把圆形的点和方形的点分开,这个线称为分割超平面。支持向量:…

SQL对Xml字段的操作

转:http://www.cnblogs.com/youring2/archive/2008/11/27/1342288.html T-Sql操作Xml数据 一、前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型。用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列;此外,…

URL 路径长度限制(错误:指定的文件或文件夹名称太长)

本节讨论 URL 的构成、SharePoint 2010 构建 URL 的方式、URL 的编码和加长以及作为其他 URL 中的参数传递的方式。 SharePoint URL 的构成 SharePoint URL 的总长度等于文件夹或文件路径的长度,包括协议和服务器名称和文件夹或文件名称,以及作为 URL 的…

sklearn线性回归详解

图片若未能正常显示,点击下面链接: http://ihoge.cn/2018/Logistic-regression.html 在线性回归中,我们想要建立一个模型,来拟合一个因变量 y 与一个或多个独立自变量(预测变量) x 之间的关系。 给定: 数据集 {(x…

DateOnly和TimeOnly类型居然不能序列化!!! .Net 6下实现自定义JSON序列化

前言.Net 6引入了DateOnly和TimeOnly结构,可以存储日期和时间。但在实际使用时,发现一个很尴尬的问题,DateOnly和TimeOnly居然不能被序列化:var builder WebApplication.CreateBuilder(args);var app builder.Build();app.MapGe…

使用插件创建 .NET Core 应用程序

使用插件创建 .NET Core 应用程序本教程展示了如何创建自定义的 AssemblyLoadContext 来加载插件。AssemblyDependencyResolver 用于解析插件的依赖项。该教程正确地将插件依赖项与主机应用程序隔离开来。将了解如何执行以下操作:构建支持插件的项目。创建自定义…

支持向量机SVC

原文: http://ihoge.cn/2018/SVWSVC.html 支持向量机(support vector machine)是一种分类算法,但是也可以做回归,根据输入的数据不同可做不同的模型(若输入标签为连续值则做回归,若输入标签为分类值则用SVC()做分类&…

Beetlex官网迁移完成

由于beetlex.io域名无法指向国内,使用国内的服务器很多时候有抽风情况出现,所以把网站迁回国内;新的域名也申请完成并且申请备案通过,现在可以通过https://beetlex-io.com来访问Beetlex的官网.接下把涉及的费用和部署情况也说一下…

SVM支持向量机绘图

原文: http://ihoge.cn/2018/SVM绘图.html %matplotlib inline import matplotlib.pyplot as plt import numpy as np class1 np.array([[1, 1], [1, 3], [2, 1], [1, 2], [2, 2]]) class2 np.array([[4, 4], [5, 5], [5, 4], [5, 3], [4, 5], [6, 4]]) plt.f…

python列表生成多个号码_python遍历多个列表生成列表或字典

原博文 2017-03-10 18:30 − key[a,b,c,d] value[1,2,3,4] mydictdict(zip(key,value)) print mydict 输出结果: {a: 1, c: 3, b: 2, d: 4} 也可以用zip同时遍历多个列表,生成一个多维列表 key... 相关推荐 2019-12-18 21:27 − 一.zip函数描述和使用 zi…

NCC CAP 6.0 发布 —— 新增支持 OpenTelemetry

前言今天,我们很高兴宣布 CAP 发布 6.0 版本正式版,在这个版本中,我们主要致力于对 OpenTelemetry 提供支持,以及更好的适配 .NET 6。那么,接下来我们具体看一下吧。总览可能有些人还不知道 CAP 是什么,老规…

朴素贝叶斯--文档分类

原文:http://ihoge.cn/2018/MultinomialNB.html 把文档转换成向量 TF-IDF是一种统计方法,用以评估一个词语对于一份文档的重要程度。 TF表示词频, 即:词语在一片文档中出现的次数 词语总数IDF表示一个词的逆向文档频率指数&am…

Linux I/O 模型(待修改)

2019独角兽企业重金招聘Python工程师标准>>> 最近看到“服务器并发处理能力”章节,被里面的“I/O模型“搞得有点头晕,所以这里希望通过概念的辨析和对比,能更好的理解Linux的 I/O模型。 同步(synchronous)…

git代码提交流程

从master创建任务分支1.需要先将master分支代码更新到最新然后再切新分支;2.新需求和hotfix需要从master切分支,若是在QA测试阶段或者预发布阶段的bug,则需要再该功能分支上进行修改;提交代码到自己的任务分支commit之后一定要pus…

PCA主成分分析+SVM实现人脸识别

原文地址: http://ihoge.cn/2018/PCASVM人脸识别.html 加载数据 这里使用的测试数据共包含40位人员照片,每个人10张照片。也可登陆http://www.cl.cam.ac.uk/research/dtg/attarchive/facesataglance.html 查看400张照片的缩略图。 import time impo…

龙芯发布.NET 6.0.100开发者内测版

龙芯在龙芯开源社区发布了LoongArch64-.NET-SDK-6.0.100开发者内测版的新闻 ,龙芯.NET基于上游社区 版本 适配支持龙芯平台架构。目前支持LoongArch64架构和MIPS64架构,LoongArch64架构的.NET-SDK-3.1已完成,安装包下载地址LoongArch64-.NET …