使用AudioView进行视频播放的时候,是不是很不爽,千篇一律的模式,恶心吧。这里,我们可以通过一些方式对MediaPlayer进行包装。而所用到的正是SurfaceView以及SurfaceHolder。
最终效果图:

我们提供了四个按钮,可以进行播放控制。
--------------------------------------------------------------------------------
布局文件media.xml代码:
activity代码:
墨衍会员
·
AI 创作全网分发
墨衍智能分发
本文由作者通过墨衍一键同步至各平台
1分发平台
1.7w累计阅读
1.8w+平均单平台
已同步平台
优快云
微信公众号
微博
知乎
掘金
百家号
博客园
抖音
小红书
你的文章也可以这样分发
墨衍会员 ¥399起/年,写一次发全网
我也要 →
码龄17年
使用AudioView进行视频播放的时候,是不是很不爽,千篇一律的模式,恶心吧。这里,我们可以通过一些方式对MediaPlayer进行包装。而所用到的正是SurfaceView以及SurfaceHolder。
最终效果图:

我们提供了四个按钮,可以进行播放控制。
--------------------------------------------------------------------------------
布局文件media.xml代码:
activity代码:
android_多媒体
当前文章被以下社区和专栏收录:
Android中使用surfaceview+MediaPlayer播放视频
android中播放视频主要有两种方式: 使用其自带的播放器。指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型 使用android自带的VideoView,这种方法太简单就不介绍了 使用SurfaceView+MediaPlayer,这种方式效果比较好,这里也重点介绍 SurfaceView从android 1.0就有了,十分好用。一般来说,UI对刷新都需要在UI
Android中的Surface和SurfaceView
一、什么是Surface 简单的说Surface对应了一块屏幕缓冲区,每个window对应一个Surface,任何View都要画在Surface的Canvas上(后面有原因解释)。传统的view共享一块屏幕缓冲区,所有的绘制必须在UI线程中进行。 在SDK的文档中,对Surface的描述是这样的:“Handle onto a r
【Android笔记60】Android之多媒体播放SurfaceView和SurfaceHolder介绍
Surface是一个位于【android.view】包下的类,该类用于保存多媒体的原始缓冲区数据,从这个类中的注释内容可以知道。处理由屏幕合成器管理的原始缓冲区。Surface通常由图像缓冲区(如SurfaceTexture、android.media.MediaRecorder或android.renderscript.Allocation)的使用者创建或从其创建,并交给某种生产者(如OpenGL、MediaPlayer或CameraDevice)进行绘制。
android 重置画布,Android,canvas:如何清除(删除)位于surfaceView中的画布(=位图)的内容?...
为了制作一个简单的游戏,我使用了一个模板来绘制带有位图的画布,如下所示:private void doDraw(Canvas canvas) {for (int i=0;i<8;i++)for (int j=0;j<9;j++)for (int k=0;k<7;k++) {canvas.drawBitmap(mBits[allBits[i][j][k]], i*50 -k*7...
surfaceview+mediaplayer实现视频播放和动态设置全屏窗口切换。
surfaceview+mediaplayer 实现视频播放和动态设置view的宽高和全屏窗口切换。播放的是没m3u8的视频,大家有什么问题也可以回复。
论文阅读——Bayesian Knowledge Fusion(贝叶斯知识融合)
该篇论文解决了不确定环境中的信息融合问题。想象一下,有多位专家针对同一情况构建概率模型,我们希望汇总他们提供的信息。直接合并每个信息可能会遇到几个问题。例如,专家们可能不同意某个事件发生的概率,或者他们可能不同意两个事件之间因果关系的方向(例如,一个人认为 A 导致 B,而另一个人认为 B 导致 A)。他们甚至可能不同意概率网络中一组变量之间的整个依赖结构。
AndroidStudio SurfaceView SurfaceHolder关系
电视机就像是屏幕,而 SurfaceView 则是你要在屏幕上显示的内容。然而,你不能直接在电视机上直接绘制内容,就像你不能直接在 SurfaceView 上绘制内容一样。这就是 SurfaceHolder 登场的地方。 SurfaceHolder 就像是遥控器,它是控制你如何在电视屏幕上显示内容的工具。你通过遥控器来切换频道、调整音量、改变画面设置等等,类似地,通过 SurfaceHolder...
Procedural modeling
What is procedural modeling? One content generation option is modeling buildings, plants, clouds, cities, and worlds using an underlying system of rules. 1 Procedural Modeling: Grammars A rule-based generative system loosely organized as: ...
surfaceView、surface和sufaceHolder的关系
初识Android中的surface相关
envi5.3处理高分二号影像数据详细过程记录
全文根据此篇文章进行数据处理: tm影像辐射定标_高分二号影像数据预处理及裁剪过程 其他参考: 学习笔记---遥感影像辐射定标与大气校正 利用ENVI自带全球DEM数据计算区域平均高程 高分二号数据处理流程(有高分二号的数据信息) GF2有多光谱和全色两个数据,MSS是多光谱的,PAN是全色的,多光谱的分辨率低,全色的高,需要把这两个数据融合,融合之前需要做定标等处理,获取经纬度。 一、多光谱影像处理 1. 辐射定标 以这个为例: 其他路径\2022.4.2...
无人机蜂群联合指挥作战技术详解
随着人工智能、通信技术、新材料等领域的不断进步,无人机蜂群联合指挥作战技术将迎来更加广阔的发展前景。未来,无人机蜂群将更加智能化、自主化,能够执行更加复杂、精细的作战任务。同时,加强国际合作,共同制定国际规则和标准,将是推动无人机蜂群技术健康发展的重要方向。无人机蜂群技术,是指通过先进的通信技术、自主导航与决策算法,将大量小型、低成本、功能各异的无人机组织成一个高度协同的群体,执行复杂多样的军事任务。2. 通信与数据链:采用高速、低延迟、抗干扰的通信技术,保障群体内无人机间的信息交换。
[Android] Surface SurfaceView SurfaceHolder 三者之间的关系
Surface 是绘制对象,SurfaceView是一个组件,SurfaceHolder是SurfaceView操作Surface的接口。虽然SurfaceView里面包含Surface,但是SurfaceView无法直接操作Surface,需要借由SurfaceHolder这个接口类来操作。
Transformers在自动驾驶领域的应用(High-level like in scene)
Transformers uses global attention mechanism to capture long-range interaction information. Two core modules in Transformers are Self-Attention and Cross-Attention, which defined asAttn(Q,K,V)=softmax(QK⊤dk)VSelfAttn(X)=Attn(WQX,WKX,WVX)CrossAttn(X,Y)=Attn
解决android SurfaceView 有声音无画面
如何使用MediaPlayer播放音频流媒体,其实MediaPlayer还可以播放视频,只需需要SurfaceView的配合,SurfaceView主要用于显示MediaPlayer播放的视频流媒体的画面渲染。 SurfaceView SurfaceView双缓冲SurfaceHolderSurfaceView的兼容性 SurfaceView 先来介绍一下大部
【txt文本加密】使用 cryptography 库实现加密和解密
cryptography 库是一个强大的 Python 库,用于实现加密和解密功能。它提供了各种加密算法,包括对称加密、非对称加密、哈希函数等。
2026年国赛C题微网与外部电网电力调控策略 (三):问题三、问题四滚动预测、实时电价与结果核验
专栏内定期更新ABCDE五题详细思路、代码(含运行结果图)和讲解视频-(11号之前半价):问题三看起来只是多给了一个光伏预报附件,实质上它改变了整道题的信息结构:问题四则是在问题二、问题三之上替换价格来源。问题4-2相当于“确定性计划+实时电价”,问题4-3相当于“滚动预测+实时电价”。物理模型完全不变,改变的是价格序列和费用口径。本文先给出核心结果:从结果看,问题3比问题2多约164.21万元,问题4-3比问题4-2多约168.79万元。主要增量不是“储能没有工作”,而是预测误差、计划偏差和紧急购电造成的
Android之SurfaceView
安卓中如果主线程负担的任务比较繁重,就会引起主线程的阻塞,这时候你会发现你的应用很卡,例如加载图片。 为了减轻主线程的繁重任务,我们可以把一些绘制图片的任务重新开一个线程进行显示,为此,安卓为我们提供了一个SurfaceView的类来帮助我们完成这样的操作。 这个类在安卓游戏中经常会用到,对于这些对实时性要求比较高的应用,一般还是会选择从SurfaceView构建,而不是很常用的View。
YOLOv8结合GhostNet实现轻量化目标检测:模型设计与性能评测
GhostNet系列的核心是**“幽灵特征图(Ghost Feature Map)”** 概念:通过简单的线性变换(如深度卷积)生成“幽灵特征”,这些特征与原始特征融合后,能以极低的计算成本带来丰富的语义信息。为了突出GhostNet系列的必要性,设计消融实验:分别测试“仅主卷积”“仅幽灵卷积”“GhostNet(主卷积+幽灵卷积)”三种方案的性能,用数据证明“幽灵特征”的不可替代性。简单来说,引入GhostNet系列的YOLOv8,既能体现你的技术深度,又能让毕设的“落地性”大幅提升。
Android 双重SurfaceView实现弹幕效果
页面布局 首先是XML的layout布局,这里的总的父布局是一个FrameLayout用于贴上两个SurfaceView,一个用来播放视频,一个用来显示弹幕 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
android之SurfaceView
SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。 1,它的特性是:可以在主线程之外的线程中向屏幕绘图上。由于它拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独立的线程中进行绘制。又由于不会占用主线程资源,SurfaceVie
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
android glsurfaceview 放在surfaceview 上面_Android进阶 自定义视频播放器
随着快手,抖音,西瓜视频等视频APP的崛起,视频播放已经成为主流,此时作为Android研发的你,想要提高自己的能力还不知道怎么开发视频播放器怎么行?所以今天就带着大家一起开发一个简易播放器:SmallVideoPlayer一.需求分析我们观察一个视频播放器,可以看到视频播放器除了正在播放的视频还有很多控件,比如播放按钮,暂停按钮,播放进度条,播放计时器等。这么多控件显然无法播放视频,但是他们都在...
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
Android笔记:SurfaceView与SurfaceHolder对象
1、SurfaceView public class SurfaceView extends View SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。 surface是纵深排序(Z-ordered)的,这表明它总在自己所在窗口的后面
谈谈对SurfaceView的理解
初识SurfaceView 刚开始做android app开发的时候,我觉得在app上展示播放一段视频,是一件很高大上的事情,后来研究了一下,原来,这都要归功于SurfaceView这个东东。 Surface + View 怎么理解SurfaceView呢?顾名思义就是Surface+View了,因此,这个东西有两重身份:首先,是一个View;其次还是一个带有Surface的View。首先聊...

被折叠的 条评论
为什么被折叠?



