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

Android编程实现播放视频的方法示例,第1张

概述本文实例讲述了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;@OverrIDeprotected 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()); // 指定视频文件的路径}@OverrIDepublic 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;}}@OverrIDeprotected 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编程实现播放视频的方法示例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1144940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存