全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android编程实现播放视频的方法示例

本文实例讲述了Android编程实现播放视频的方法。分享给大家供大家参考,具体如下:

播放视频文件其实并不比播放音频文件复杂,主要是使用 VideoView 类来实现的。这个 类将视频的显示和控制集于一身,使得我们仅仅借助它就可以完成一个简易的视频播放器。 VideoView 的用法和 MediaPlayer 也比较类似,主要有以下常用方法:

方法名

功能描述

setVideoPath()

设置要播放的视频文件的位置。

start()

开始或继续播放视频。

pause()

暂停播放视频。

resume()

将视频重头开始播放。

seekTo()

从指定的位置开始播放视频。

isPlaying()

判断当前是否正在播放视频。

getDuration()

获取载入的视频文件的时长。

那么我们还是通过一个实际的例子来学习一下吧,新建 PlayVideoTest 项目,然后修改activity_main.xml 中的代码,如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="vertical" >
<VideoView android:id="@+id/video_view" android:layout_width="match_parent" android:layout_height="wrap_content" />
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" >
<Button android:id="@+id/play" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Play" />
<Button android:id="@+id/pause" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Pause" />
<Button android:id="@+id/replay" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Replay" />
</LinearLayout>
</LinearLayout>

在这个布局文件中,首先是放置了一个 VideoView,稍后的视频就将在这里显示。然后在 VideoView 的下面又放置了三个按钮,分别用于控制视频的播放、暂停和重新播放。 接下来修改 MainActivity 中的代码,如下所示:

public class MainActivity extends Activity implements OnClickListener {
private VideoView videoView;
private Button play; private Button pause; private Button replay;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
play = (Button) findViewById(R.id.play);
pause = (Button) findViewById(R.id.pause);
replay = (Button) findViewById(R.id.replay);
videoView = (VideoView) findViewById(R.id.video_view); play.setOnClickListener(this); pause.setOnClickListener(this); replay.setOnClickListener(this);
initVideoPath();
}
private void initVideoPath() {
File file = new File(Environment.getExternalStorageDirectory(), "movie.3gp");
videoView.setVideoPath(file.getPath()); // 指定视频文件的路径
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.play:
if (!videoView.isPlaying()) {
videoView.start(); // 开始播放
}
break;
case R.id.pause:
if (videoView.isPlaying()) {
videoView.pause(); // 暂时播放
}
break;
case R.id.replay:
if (videoView.isPlaying()) {
videoView.resume(); // 重新播放
}
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (videoView != null) {
videoView.suspend();
}
}
}

这部分代码相信你理解起来会很轻松,因为它和前面播放音频的代码非常类似。首先在 onCreate()方法中仍然是去获取一些控件的实例,然后调用了 initVideoPath()方法来设置视频 文件的路径,这里我们需要事先在 SD 卡的根目录下放置一个名为 movie.3gp 的视频文件。 下面看一下各个按钮的点击事件中的代码。当点击 Play 按钮时会进行判断,如果当前 并没有正在播放音频,则调用 start()方法开始播放。当点击 Pause 按钮时会判断,如果当前 视频正在播放,则调用 pause()方法暂时播放。当点击 Replay 按钮时会判断,如果当前视频正在播放,则调用 resume()方法重头播放视频。最后在 onDestroy()方法中,我们还需要调用一下 suspend()方法,将 VideoView 所占用的 资源释放掉。

现在将程序运行到手机上,然后点击一下 Play 按钮,就可以看到视频已经开始播放了, 如下图所示:

点击 Pause 按钮可以暂停视频的播放,点击 Replay 按钮可以重头播放视频。 这样的话,你就已经将 VideoView 的基本用法掌握得差不多了。不过,为什么它的用法

和 MediaPlayer 这么相似呢?其实 VideoView 只是帮我们做了一个很好的封装而已,它的背 后仍然是使用 MediaPlayer 来对视频文件进行控制的。另外需要注意,VideoView 并不是一 个万能的视频播放工具类,它在视频格式的支持以及播放效率方面都存在着较大的不足。所 以,如果想要仅仅使用 VideoView 就编写出一个功能非常强大的视频播放器是不太现实的。 但是如果只是用于播放一些游戏的片头动画,或者某个应用的视频宣传,使用 VideoView 还 是绰绰有余的。

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。


# Android  # 播放  # 视频  # android使用surfaceview+MediaPlayer播放视频  # Android ViewPager中显示图片与播放视频的填坑记录  # Android中使用TextureView播放视频  # Android编程实现播放视频时切换全屏并隐藏状态栏的方法  # Android仿搜狐视频、微视等列表播放视频功能  # Android多媒体教程之播放视频的四种方法  # Android 播放视频常见问题小结  # Android DragVideo实现播放视频时任意拖拽的方法  # Android仿新浪微博/QQ空间滑动自动播放视频功能  # android surfaceView实现播放视频功能  # 视频文件  # 正在播放  # 操作技巧  # 所示  # 仍然是  # 进阶  # 视频播放器  # 在这里  # 很好  # 相关内容  # 在这个  # 你就  # 不太  # 绰绰有余  # 感兴趣  # 这部  # 微软  # 给大家  # 还需要  # 已经开始 


相关文章: 如何登录建站主机?访问步骤全解析  如何在企业微信快速生成手机电脑官网?  seo网站制作优化,网站SEO优化步骤有哪些?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  制作宣传网站的软件,小红书可以宣传网站吗?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  如何注册花生壳免费域名并搭建个人网站?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  如何在云服务器上快速搭建个人网站?  制作门户网站的参考文献在哪,小说网站怎么建立?  如何在云虚拟主机上快速搭建个人网站?  如何用虚拟主机快速搭建网站?详细步骤解析  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  5种Android数据存储方式汇总  专业公司网站制作公司,用什么语言做企业网站比较好?  PHP 500报错的快速解决方法  长沙做网站要多少钱,长沙国安网络怎么样?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  三星网站视频制作教程下载,三星w23网页如何全屏?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  网站制作网站,深圳做网站哪家比较好?  建站之星代理费用多少?最新价格详情介绍  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  建站之星后台密码如何安全设置与找回?  如何在阿里云完成域名注册与建站?  如何在阿里云虚拟服务器快速搭建网站?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  建站之星代理如何优化在线客服效率?  常州自助建站工具推荐:低成本搭建与模板选择技巧  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  如何通过网站建站时间优化SEO与用户体验?  视频网站制作教程,怎么样制作优酷网的小视频?  如何快速启动建站代理加盟业务?  如何批量查询域名的建站时间记录?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星如何开启自定义404页面避免用户流失?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  高端智能建站公司优选:品牌定制与SEO优化一站式服务  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。