android中surfaceview时间长了卡主,被SurfaceView搞死了的搞后感

2023-11-02

这几天遇到一个问题:

视频播放时,为了保持视频的宽高比,就需要在surfaceView的父view的大小改变的时候,改变SurfaceView的大小。

父View的大小改变的时候,会走View的onSizeChanged回调。所以,复写了这个方法:

@Override

protected void onSizeChanged(int w, int h, int oldw, int oldh) {

super.onSizeChanged(w, h, oldw, oldh);

Log.d(TAG, "onSizeChanged w = " + w + " , h = " + h + " , oldw = " + oldw + " , oldh = " + oldh);

//当界面大小有变化的时候,需要改变surfaceView的大小。

resizeSurfaceView();

}

private void resizeSurfaceView()

{

int width = mediaPlayer.getVideoWidth();

int height = mediaPlayer.getVideoHeight();

//根据视频宽高和父View的宽高计算SurfaceView的宽高

Point surfaceViewSize = measureSurfaceViewSize(width, height);

RelativeLayout.LayoutParams surfaceLayoutParams

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android中surfaceview时间长了卡主,被SurfaceView搞死了的搞后感 的相关文章

  • pytorch网络m参数量、flops计算方法

    1 from thop import profile x torch randn 1 3 256 256 flops params profile self modelG inputs x print flops is 2fM flops
  • Windows 上 .NET Core 的先决条件

    https docs microsoft com zh cn dotnet articles core windows prerequisites Windows 上 NET Core 的先决条件 2017 1 5 1 分钟阅读时长 作者
  • 东南大学CTF之Flag你在哪里?

    题目 查看源代码 也只有一个Where is the flag 打开抓包软件 我用的是httpwatch 在http的响应头里面找到了flag 提交吧
  • 区块链学习笔记22——ETH-TheDAO

    区块链学习笔记22 ETH TheDAO 学习视频 北京大学肖臻老师 区块链技术与应用 笔记参考 北京大学肖臻老师 区块链技术与应用 公开课系列笔记 目录导航页 DAO Decentralized Autonomous Organizati
  • 应用服务器请求回调网络设置,回调服务器配置流程

    路由器拨号IP 10 102 24 190 一 进入医保专用路由器进行配置 三亚广慈医院 医保专用路由 192 168 133 1 密码 cwz090810yb 进入路由设置界面 点击应用管理 1 IP与MAC绑定 IP与MAC 均为本机信
  • 详解逻辑回归Logistic Regression

    详解逻辑回归Logistic Regression 详解逻辑回归Logistic Regression 什么是回归 从线性回归到Logistic回归 什么是逻辑回归 逻辑回归假设 logistic函数 logistic函数求导 逻辑回归的损
  • 深入浅出编译原理-5-一个简单语法分析器的C语言实现

    引言 前面已经介绍了编译器的预处理 词法分析 词法分析器的实现 也在其中说到了语法分析的任务和过程 语法分析的输入是词法单元序列 然后根据语言的文法表示 展开式 利用有限状态机理论 生成抽象语法树 然后遍历得到中间代码 即 三地址码 本节就
  • Spring Security - 06 修改默认的用户名和密码

    文章目录 环境 项目结构 修改默认的用户名和密码 测试 参考 环境 操作系统 Windows 10 x64 集成开发环境 Spring Tool Suite 4 Version 4 12 1 RELEASE Build Id 2021102
  • 纯 HTML+CSS+JS 编写的计算器应用

    点击上方 中兴开发者社区 关注我们 每天读一篇一线开发者原创好文 作者 dunizb 链接 segmentfault com a 1190000006977116 一道笔试题 之前偶然看到一个公司的笔试题 题目如下 用HTML5 CSS3
  • 【EI会议】2022年人工智能与统计学前沿国际会议(CFAIS 2022)

    2022年人工智能与统计学前沿国际会议 CFAIS 2022 重要信息 会议网址 www cfais org 会议时间 2022年12月16 18日 召开地点 中国北京 截稿时间 2022年10月31日 录用通知 投稿后2周内 收录检索 E
  • 需求:定义一个集合,添加一些学生对象,并进行遍历学生类的属性为:姓名,年龄。

    提示 题目答案均由博主自主编写 想法不一 答案也不一 本答案仅提供参考 如有疑问 可在评论区提问 有时间会解答 Student类 package llf test public class Student private int id pr
  • python中pass语句的作用是什么_Python中pass语句的作用

    在 Python 中 pass 是一个空语句 为了保持程序结构的完整性 一般情况下 pass 不做任何事情 被用作占位符 它的作用如下 1 空语句 do nothing 2 保证格式完整 3 保证语义完整 pass语法格式 pass 如果写
  • 发现一个好用的MySQL数据库管理工具

    免费在线MySQL数据库管理工具 平台地址 http open yesapi cn 一 管理自己的MySQL数据库 如果自己已经有一个MySQL数据库 那么可以直接配置到小白开放平台 就可以实现在线数据库管理了 首先 注册成功后 进入 设置
  • 七种寻址方式

    文章目录 1 立即寻址方式 2 直接寻址方式 3 寄存器寻址方式 4 寄存器间接寻址方式 5 寄存器相对寻址方式 6 基址加变址寻址方式 7 相对基址加变址寻址方式 七种寻址方式总结 寻址方式就是处理器根据指令中给出的地址信息来寻找有效地址
  • Exception in thread "main" java.net.BindException: Address already in use: NET_Bind

    在Java开发Socket中 可能会出现以下信息 Exception in thread main java net BindException Address already in use NET Bind 这是由于端口被占用了 解决的办
  • C++入门(1)简单变量和数据类型

    C 入门 1 简单变量和数据类型 最近在看Larry Ullman Andreas Signer 写的 写给大家看的C 书 做了一些笔记跟大家分享 希望会有所帮助 输入输出头文件 include
  • 编程教育已经走在全球化的路上

    据格物斯坦小坦克所知 在我国 现在仍有很多人觉得编程可有可无 无关考试升学 无关未来与就业 但在国外 编程教育早早便进入校园了 他们对编程的重视程度远超出我们的想象 在国外 少儿编程教育发展程度非常高 全球很多发达国家在基础教育中设立了编程
  • python读取excel生成柱状图

    可以使用 Python 的第三方库来读取 Excel 文件 比如 pandas openpyxl 等 这些库可以方便地将 Excel 中的数据读取出来并存储到一个数据框中 pandas 中的数据结构 然后使用 matplotlib 库来生成
  • 数组16--矩阵中的路径

    数组16 矩阵中的路径 jz65 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 请设计一个函数 用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径 路径可以从矩阵中的任意一个格子开始 每一步可以在矩阵中向左 向右 向

随机推荐

  • git分支管理

    git分支管理 1 主分支 Master 主分支 默认不会在该分支上进行开发 只会将稳定没有bug的代码合并到该分支上 2 开发分支 Develop 主要的开发分支 在master分支的基础上创建而来 该分支主要是保持最新的代码 用于测试
  • PHP制作验证码

    学习PHP 它的函数库太强大了 就觉得很神奇 创建验证码也是很有意思 记录一下吧
  • 【数据结构】顺序表---C语言版(数据结构开篇小菜,全网最详细!小白看一遍就学会!!!)

    文章目录 一 前言 1 什么是数据结构 二 顺序表的概念 线性表 1 什么是线性表 2 顺序表与数组的区别 三 顺序表详解 静态顺序表 动态顺序表 创建动态顺序表 接口1 定义结构体SL 接口2 初始化结构体 SLInit 接口3 检查结构
  • 我也谈谈闭包

    我也谈谈闭包 今天第一次在实际运用中遇到闭包的问题 我要给几个视频video增加鼠标悬停自动播放的功能 刚开始时 我只有一个video 代码如下 HTML li li
  • Matlab学习笔记(1)--Matlab基础矩阵运算学习

    最近接触并学习了Matlab 充分感受到了Matlab的强大 正所谓好记忆不如烂笔头 所以在此写一下学习笔记 以便后续温习 因为Matlab是一个十分重实践的软件 所以学习笔记我打算不按照常规写法来进行 而是通过作者在学习中做的练习题来进行
  • webpack5 学习(三)—— 管理资源:加载 images

    在 webpack 5 中 可以使用内置的 Asset Modules 来处理图像资源 webpack config js 修改webpack config js const path require path module exports
  • SoapUI工具---webservice接口(带图详细步骤)

    目录 首先 找一个接口 1 WEB服务 2 WSDL 界面 3 getMobileCodeInfo界面 SoapUI工具调用 1 打开界面 2 添加接口 3 执行接口 4 创建测试用例 5 添加断言 6 运行结果 编辑 首先 找一个接口 1
  • VS2010+opencv msvcprtd.lib(MSVCP90D.dll) : error LNK2005 error LNK2019等错误

    VS 2010 Opencv 遇到了msvcprtd lib MSVCP90D dll error LNK2005 error LNK 2019等多个错误 刚开始没注意 以为是opencv的库添加的有问题 仔细检查了之后发现库添加的没有问题
  • 人工智能学习(五)人工智能三巨头

    他们分别是杰弗里 辛顿 Geoffrey Hinton 约书亚 本吉奥 Yoshua Bengio 和扬 勒丘恩 Yann LeCun 这三个人通常被大众称为 深度学习三巨头 为什么要介绍他们呢 因为人工智能如今能够发展地如此迅猛 他们几个
  • 注意今晚停机更新

    注意今晚停机更新 LOL将在6月13日凌晨1点开始全区停机维护 请注意 6月13日0点将关闭排位赛入口 不会影响正在进行中的排位赛 发布13 12版本 预计停机时间为1 00 12 00 对于在停机期间结束的活动 其实际结束时间也将提前至停
  • MFC快速入门

    1 新建 MFC 2 直接进入框图界面 资源文件 rc Dialog 3 给控件添加消息处理函数 选中控件 右键 添加事件处理程序 跳转函数 写函数 4 在消息处理函数中添加自定义功能 在我们使用任意一种方法添加了消息处理函数以后 都只能得
  • unity3D 《见缝插针》--得分显示、结束动画、以及游戏的重置

    一 得分显示 1 首先在scene新建一个Text的UI组件 它在Canvas面板下 2 进行缩放 3 为Canvas添加脚本 代码如下 public static int scoreValue public Text scoreText
  • 【Android】常用对话框大全(三)自定义Dialog的三种方式(Theme,PopupWindow,Dialog)

    Android Dialog自定义的方式有很多 例如 Theme Dialog PopupWindow AlertDialog View等方式 Android常用对话框系列文章 Android 常用对话框大全 一 Android Dialo
  • [毕业设计]LaTeX论文模板排版

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度
  • matplotlib—画正弦、余弦函数图

    一 导入模块 import matplotlib pyplot as plt import numpy as np plt rcParams font sans serif SimHei 用于正常显示中文标签 plt rcParams ax
  • 人工智能与神经网络-激活函数

    人工神经元的工作原理 大致如下 上述过程的数学可视化过程如下图 激活函数 Activation Function 是一种添加到人工神经网络中的函数 旨在帮助网络学习数据中的复杂模式 类似于人类大脑中基于神经元的模型 激活函数最终决定了要发射
  • 【宝塔面板建站】01. 5分钟windows宝塔面板的安装(保姆级图文)

    目录 1 下载宝塔面板 2 安装宝塔面板 3 初始化面板 4 安装套件 关于建站使用 总结 宝塔面板建站 分享宝塔面板从安装到实战的宝塔面板本机免云服务器免域名搭建网站等内容 欢迎关注 宝塔面板建站 系列 持续更新中 欢迎关注 宝塔面板建站
  • 机器人学之动力学笔记【11】—— 拉格朗日 动力学方程

    机器人学之动力学笔记 11 拉格朗日 动力学方程 1 拉格朗日法 2 举例 An RP Manipulator 3 转换到笛卡尔空间下 4 考虑能量损耗 1 拉格朗日法 之前我们学习了如何使用牛顿 欧拉法 基于力和力矩分析 建立机械臂的动力
  • 解决文件只能在windows系统上传成功,而linux系统上传失败。

    场景 在我们项目准备上线进行SIT测试的时候 测试在文件上传的时候 一直上传不成功 表示当前文件不支持上传 然后我们让测试将他的文件发送给我们进行测试 我们是能够上传成功的 然后询问他们使用的什么系统 发现他们使用的是Linux发行版操作系
  • android中surfaceview时间长了卡主,被SurfaceView搞死了的搞后感

    这几天遇到一个问题 视频播放时 为了保持视频的宽高比 就需要在surfaceView的父view的大小改变的时候 改变SurfaceView的大小 父View的大小改变的时候 会走View的onSizeChanged回调 所以 复写了这个方