Pro Android学习笔记(一三十):Media Frameworks(5):播放视频

本文介绍如何在Android中使用VideoView进行视频播放,并通过MediaController实现基本的媒体控制功能。同时,还展示了如何使用MediaPlayer类播放视频,以及如何通过SurfaceView与SurfaceHolder进行图像或视频播放的可视化。

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei

Android为视频播放提供了很好的封装。通过android.widget.VideoView封装了MediaPlayer,使用起来很简单。

小例子的效果如下:

小例子的layout的xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout …… >

    <VideoView android:id="@+id/video_view"
        android:layout_width="200px"
        android:layout_height="200px"/>
</LinearLayout>

小例子的代码如下:

public class VideoDemo extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.video_demo_activity);

       
        VideoView vv = (VideoView)findViewById(R.id.video_view);
       //媒体控制器就是图例中最下方的控制器,控制器出现一会会消失,按VideoView则会出现。当然,我们也可以不用媒体控制器,而自行设计按钮,通过start(),pause(),stopPlayback()和seekTo()来进行控制。
        MediaController mc = new MediaController(this);
        vv.setMediaController(mc);
 
        //例子显示的是web适配,需要INTERNET的permission
       String uriStr = "http://www.androidbook.com/akc/filestorage/android/documentfiles/3389/movie.mp4";
       vv.setVideoURI(Uri.parse(uriStr)); //对于本地视频,除了URI外,还可以是用setVideoPath();
        
        vv.requestFocus();
        vv.start();
    }   

}

我们同样可以用VideoView来播发音频,因为它实际上也是使用MediaPlayer的。

如果我们直接使用MediaPlayer类来播放视频,可以借助SurfaceView来作为图像或视频播放的可视view。建MediaPlayer对象有静态方法MediaPlayer.create(Context, Uri, SurfaceHolder),以及方法setDisplay(SurfaceHolder)。而SurfaceHolder和surfaceView之间的关联为:surfaceHolder=surfaceView.getHolder();

小例子代码在:Pro Android学习:media framworks小例子

相关链接:我的Android开发相关文章

内容概要:本文围绕“融合模拟退火和自适应变异的混沌鲸鱼优化算法(AAMCWOA)”展开研究,提出一种创新的智能优化算法,通过引入混沌初始化、模拟退火机制和自适应变异策略,有效提升传统鲸鱼优化算法的收敛速度与全局搜索能力,避免陷入局部最优。该算法在MATLAB平台上实现,并应用于RBF神经网络的参数优化与分类预测,验证了其在复杂非线性问题中的优越性能。文档还附带14页算法原理解析,深入阐述各改进模块的设计思路与数学模型。此外,文中列举了大量相关科研方向与应用场景,涵盖信号处理、路径规划、电力系统、故障诊断、机器学习等多个领域,展示了该算法的广泛适用性。; 适合人群:具备一定编程基础和优【创新SCI算法】AAMCWOA融合模拟退火和自适应变异的混沌鲸鱼优化算法研究(Matlab代码实现)化算法背景,从事智能算法研究或工程优化应用的研究生、科研人员及工程技术人员,尤其适合致力于智能计算、人工智能与MATLAB仿真的1-3年经验研究人员。; 使用场景及目标:①用于解决复杂函数优化、神经网络参数调优、分类预测等科研问题;②作为SCI论文复现与算法创新的基础工具,支撑高水平学术研究;③结合MATLAB代码实现,快速验证算法有效性并拓展至实际工程场景。; 阅读建议:建议结合提供的算法原理详解文档逐模块理解AAMCWOA的实现逻辑,通过调试MATLAB代码掌握参数设置与性能评估方法,并尝试将其迁移至其他优化任务中进行对比实验,以深化对智能优化算法设计思想的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值