Android设置自定义录视频宽高比

2023-10-30

安卓视频开发中。往往需要动态设置录视频宽高比。

``` java

//声明预览的宽高和屏幕宽高
private int previewWidth = 480, screenWidth = 480;

private int previewHeight = 480, screenHeight = 800;


//初始化
screenWidth = displaymetrics.widthPixels;
screenHeight = displaymetrics.heightPixels;


RelativeLayout.LayoutParams layoutParam1 = new RelativeLayout.LayoutParams(screenWidth,(int) (screenWidth*(previewWidth/(previewHeight*1f))));

layoutParam1.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE);

RelativeLayout.LayoutParams layoutParam2 = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
layoutParam2.topMargin = screenWidth;

View view = new View(FFmpegRecorderActivity.this);
view.setFocusable(false);
view.setBackgroundColor(Color.BLACK);
view.setFocusableInTouchMode(false);

topLayout.addView(cameraView, layoutParam1);
topLayout.addView(view,layoutParam2);

topLayout.setOnTouchListener(FFmpegRecorderActivity.this);

```


之后放入到topLayout中。这个是录视频surfaceView的声明。

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

Android设置自定义录视频宽高比 的相关文章

  • 找不到参数的方法 dependencyResolutionManagement()

    我正在尝试使用老师给我的一个项目 但它显示了一个错误 Settings file Users admin AndroidStudioProjects HTTPNetworking settings gradle line 1 A probl
  • Sqlite数据库生命周期?关闭应用程序后它会被删除吗?

    我正在遵循一个简单的教程 该教程创建一个从 SQLiteOpenHelper 扩展的类 并创建一个包含一个表和 5 行的数据库 好的 但我需要更多地了解 android Sqlite 数据库 例如 如果应用程序关闭或手机关机会发生什么 数据
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • android xamarin 中的 reCaptcha

    我想在 Xamarin android 应用程序中实现验证码 我抓住了这个在 Android 中集成 googles reCaptcha 验证 https www c sharpcorner com article how to integ
  • CollapsingToolBarLayout - 状态栏稀松布颜色不改变

    几天前我更新了我的 android studio 并开始使用 CoordinatorLayout 和 CollapsingToolbarLayout 只是尝试一些东西 工具栏稀松布颜色似乎覆盖了状态栏初始颜色和状态栏稀松布颜色 从 xml
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 带有 EditText 和 Spinner 的对话框

    我有一个按钮 单击后会弹出一个对话框 我希望对话框有一个EditText and a Spinner对话框内 我不知道如何设置它的视图 我有一个代码AlertDialog它有效 只是EditText and Spinner我需要将其放入其中
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • Google 云端硬盘身份验证异常 - 需要许可吗? (v2)

    我一直在尝试将 Google Drive v2 添加到我的 Android 应用程序中 但无法获得授权 我收到 UserRecoverableAuthIOException 并显示消息 NeedPermission 我感觉 Google A
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp
  • 如何根据 gradle 风格设置变量

    我想传递一个变量test我为每种风格设置了不同的值作为 NDK 的定义 但出于某种原因 他总是忽略了最后味道的价值 这是 build gradle apply plugin com android library def test andr
  • Android:膨胀布局时出现 StackOverFlowError 和 InvokingTargetException

    首先 对不起我的英语 我在膨胀布局时有一个问题 我有一个自定义视图 从 LinearLayout 扩展而来 称为按钮帮助 我在名为的布局上使用该视图加载活动 我的以下代码在所有设备和模拟器上都能完美运行 但具有 QVGA 屏幕 例如 Sam
  • 一次显示两条Toast消息?

    我希望在一个位置显示一条 Toast 消息 并在另一位置同时显示另一条 Toast 消息 多个 Toast 消息似乎总是按顺序排队和显示 是否可以同时显示两条消息 是否有一种解决方法至少可以提供这种外观并且不涉及扰乱活动布局 Edit 看来
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 将 Intent 包装在 LabeledIntent 中以用于显示目的

    要求 我的应用程序中有一个 共享 按钮 我需要通过 Facebook 分享 我需要选择是否安装原生 Facebook 应用程序 我们的决定是 如果未安装该应用程序 则将用户发送到 facebook com 进行分享 当前状态 我可以检测何时
  • 将两个文本视图并排放置在布局中

    我有两个文本视图 需要在布局中并排放置 并且必须遵守两条规则 Textview2 始终需要完整显示 如果布局中没有足够的空间 则必须裁剪 Textview1 例子 文本视图1 文本视图2 Teeeeeeeeeeeeeeeeeextview1
  • 强制 Listview 不重复使用视图(复选框)

    我做了一个定制Listview 没有覆盖getView 方法 Listview 中的每个项目都具有以下布局 联系布局 xml

随机推荐

  • linux mnit 安装boost1.58库

    1 安装依赖库文件 sudo apt get install libbz2 dev 安装mpi库 sudo apt get install libicu dev 支持正则表达式的UNICODE字符集 sudo apt get install
  • python协整与异步调用,压榨程序的摸鱼时间——使用异步编写需要循环执行的程序,并获取返回值(2)

    对于同步 异步的基础与基本的书写方法请参考上一篇博客 python协整与异步调用 压榨程序的摸鱼时间 异步改写一般程序 1 由于request本身只能发送同步的请求 因此我们使用支持异步的httpx来访问网站 对比同步与异步的写法 用同步与
  • 分布式限流之 - Spring Cloud Gateway层限流实现

    写在前面的话 高并发的三驾马车 缓存 降级 限流 这里仅仅说限流 常用的限流算法有 计数器算法 固定窗口算法 滑动窗口算法 漏桶算法 令牌桶算法 每种算法的特点和优缺点这里不展开 比较适用的限流算法基本都会选择令牌桶 并且这里基于Sprin
  • springboot-项目获取resources下文件的方法(2019.12.07补充)

    spring项目获取resources下文件的方法 最近写读取模板文件做一些后续的处理 将文件放在了项目的resources 下 发现了一个好用的读取方法 比如上边是你需要读取的文件 读取的方法如下 File file ResourceUt
  • Oracle函数--日期函数

    3 日期函数 months between add months next day last day round trunc sysdate sysdate关键字 表示系统的当前时间 select sysdate from dual 结果
  • STM32Cube HAL库——霍尔编码器测速(电机转速测量)

    STM32Cube HAL库 霍尔编码器测速 电机转速测量 一 测速原理 1 霍尔编码器概述 霍尔编码器 Hall Encoder 是一种用于测量旋转位置和方向的传感器 它通过感应磁场变化来测量旋转轴的位置和方向 霍尔编码器通常由霍尔传感器
  • ubuntu 18.04 安装 opencv(踩了很多雷终于整合成一个完整的成功版本)

    更新源 sudo apt update 安装相关包 sudo apt get install build essential cmake git libgtk2 0 dev pkg config libavcodec dev libavfo
  • [482]tf.cast()

    tf cast x dtype name None 此函数是类型转换函数 参数 x 输入 dtype 转换目标类型 name 名称 返回 Tensor 例 tensor a is 1 8 2 2 dtype tf float tf cast
  • lvs(+keepalived)、haproxy(+heartbeat)、nginx 负载均衡的比较分析

    目前使用比较多的就是标题中提到的这两者 其实lvs和haproxy都是实现的负载均衡的作用 keepalived和heartbeat都是提高高可用性的 避免单点故障 那么他们为什么这么搭配 而又有什么区别呢 经过一番google 大体明白了
  • PyTorch-11 自编码器AutoEncoders 、 Variational AutoEncoders

    PyTorch 11 自编码器AutoEncoders Variational AutoEncoders 这里我们主要涉及如何利用大量Unlabeled数据 因此Unsupervised Learning这个领域就需要解决这个问题 下图是主
  • 【实用小知识】常用的软件测试方法

    随着软件测试技术的不断发展 测试方法也越来越多样化 针对性更强 选择合适的软件测试方法可以让我们事半功倍 以下是一些常用的软件测试方法 测试 Beta测试 测试 英文是Beta testing 又称Beta测试 用户验收测试 UAT 测试是
  • Keil中的工程配置选项说明

    工程配置选项说明 工程配置栏 Device Target 1 晶振频率 2 操作系统 是否选择Keil自带的RTX操作系统 一般不选 3 系统预览文件 一般默认使用系统自带 不选择自己定义的 4 生成代码所选择的编译器 5 使用交叉模块优化
  • flutter学习之旅(一)

    初学Flutter flutter官网和中文开发手册 安装flutter windows 官方文档 windows flutter windows 3 7 9 stable zip 编辑环境变量 在 用户变量 一栏中 检查是否有 Path
  • 谷歌浏览器禁用自动更新

    解决谷歌浏览器自动升级的问题 最好 最简单的解决方式 1 找到hosts文件 文件位置C Windows System32 drivers etc 2 修改hosts文件 增加 127 0 0 1 update googleapis com
  • 基础网络详解4--HTTP Cookie&&Session 思考

    一 cookie技术思考 一台多用户浏览器发起了三笔请求 将某款产品放入购物车中 A一次 选择了篮球 B两次 第一次选了足球 第二次选了钢笔 如何确认选择篮球 足球 钢笔的请求属于谁呢 如果不确认属于谁 请求将没有意义 如果每次请求都带一个
  • &2应用层 - DNS:因特网的目录服务

    DNS DNS提供的服务 用户主机将一个HTTP请求报文发送到Web服务器的过程 DNS服务 DNS工作机理概述 DNS的一种简单设计 集中式设计 分布式 层次数据库 3种类型的DNS服务器交互的方式 本地DNS服务 DNS缓存 DNS记录
  • 统计json数组元素个数的函数

    js function getJsonLength jsonData var jsonLength 0 for var item in jsonData jsonLength return jsonLength len getJsonLen
  • 【漏洞复现】CVE-2023-23752 Joomla权限绕过漏洞

    环境搭建 sudo docker compose up d 查看端口号 sudo docker ps 服务启动后 访问http your ip 8080即可查看到Joomla页面 这个漏洞是由于错误的属性覆盖导致的 攻击者可以通过在访问Re
  • Linux网络编程_Ubuntu环境配置安装

    文章目录 一 基于vmware虚拟机安装Ubuntu系统 虚拟机 1 vmware下载 2 Ubuntu系统下载 3 配置 3 1 无法连网 这里很容易出现问题 3 2 更换国内源 3 3 无法屏幕适配全屏 3 4 汉化 二 直接安装Ubu
  • Android设置自定义录视频宽高比

    安卓视频开发中 往往需要动态设置录视频宽高比 java 声明预览的宽高和屏幕宽高 private int previewWidth 480 screenWidth 480 private int previewHeight 480 scre