1.Android进阶之MediaPlayer和TextureView封装视频播放器详解(完美实现全屏、小窗)
Android进阶之MediaPlayer和TextureView封装视频播放器详解(完美实现全屏、小窗)
前言
在上一篇文章中,我们讨论了SurfaceView和TextureView的基础知识点,以及它们在Android开发中的应用。SurfaceView和TextureView作为独立线程中的金融类源码绘制和渲染,使得它们在对绘制速率要求较高的场景中,如相机预览和视频播放,具有更高的性能。今天,我们将利用TextureView来封装一个视频播放器。
视频播放器方案介绍
在考虑视频播放器的实现方案时,我们比较了两种方式:使用videoView+MediaPlayer和textureView+MediaPlayer。videoView继承自SurfaceView,能够在新建的通达信内盘源码Window中显示内容,因此不能放置在RecyclerView或ScrollView中,且一些View特性无法使用。而textureView不会创建新的窗口,其使用方式与普通View相同,更便于集成和扩展。
为什么使用TextureView
TextureView自Android 4.0(API level )引入,相较于SurfaceView,c 消消乐游戏源码它直接将内容流投放到View中,支持移动、旋转、缩放、动画等变化,且必须在硬件加速的窗口中使用。这一特性使得TextureView在视频播放器封装中更为适用。odoo11源码 安装
TextureView使用介绍
在使用TextureView时,需注意以下几点:
1. TextureView被创建后不能直接使用,必须添加到ViewGroup中。
2. TextureView需等待SurfaceTexture准备就绪才能发挥作用,通常通过SurfaceTextureListener设置监听器以接收onSurfaceTextureAvailable回调。
MediaPlayer介绍
MediaPlayer是Android中用于播放音频和视频的关键组件,提供了重要的比特股钱包 源码分析状态、方法和回调,用于控制播放、暂停、加载和释放资源。
封装视频播放器
视频播放器的封装涉及两个主要组件:播放器控制器(mController)和用于显示视频内容的TextureView。这层关系通过FrameLayout容器进行管理。初始化包括TextureView、MediaPlayer和Controller的配置,等待SurfaceTexture准备就绪后,启动播放器。
实现全屏和小窗口播放
通过调整mContainer的显示方式,可以实现全屏和小窗口播放模式。全屏模式下,移除mContainer并添加到根布局中,设置为横屏显示;小窗口模式下,同样移除mContainer,调整其宽高属性。
总结
封装视频播放器涉及多个关键步骤和考虑因素,包括使用TextureView的特性、MediaPlayer的配置以及播放器状态和界面管理。虽然文章内容简洁,但涵盖了从基础知识点到实际封装过程的完整流程。如需深入了解,可以参考网上提供的NiceVideoPlayer等资源。
2024-12-22 23:42169人浏览
2024-12-22 23:371680人浏览
2024-12-22 23:161697人浏览
2024-12-22 22:432417人浏览
2024-12-22 22:121815人浏览
2024-12-22 21:491092人浏览
谢阿金左一)和同事在田野里收生菜。 受访者供图/图)26岁的洛洛找到一份新工作,在深圳一家宠物门店做宠物美容师。很少有人知道,她毕业于985高校,上一份工作是在写字楼里做设计。另一个年轻人谢阿金干过很
基泰2538)建案「基泰大直」7日晚間發生重大工安意外,周圍一棟7樓民宅傾斜下陷,住戶有家歸不得,基泰高層神隱多日後,今10)天終於出面說明,董事長陳世銘屢次鞠躬致歉,宣布辭去董事長一職。接續由總經理
就業率和薪資調漲,可望大大帶動美國消費成長;基本面健康,也將讓美股成為明年投資的最大避風港。投資人可以鎖定獲利穩定、配息固定的股票,穩穩領股利。