检查Android设备是否支持4K视频?

2023-11-26

我正在尝试在我的应用程序中播放 4K 视频,但只要所有设备都无法播放 4K 视频,我就会遇到一些麻烦。

  • 在播放视频之前,如何在运行时检查该设备是否支持它?

首先,您必须记住 4k 只是一个分辨率,但您还必须记住比特率。

以下是测试在特定设备上是否可以实现分辨率/比特率组合的方法:

boolean areSizeAndRateSupported (int width, int height, double frameRate)

https://developer.android.com/reference/android/media/MediaCodecInfo.VideoCapability.html#areSizeAndRateSupported(int,%20 int,%20 double)

还有:

isSizeSupported(int width, int height)

这些方法的唯一缺点是 API 级别 21 才支持它。

您还可以使用此方法检查编解码器功能:

MediaCodecInfo.VideoCapabilities.getVideoCapabilities()

https://developer.android.com/reference/android/media/MediaCodecInfo.CodecCapabilities.html#getVideoCapabilities()

但据我所知,它们返回的分辨率可能低于实际支持的分辨率。

另一方面,在您的情况下,低于 android lollipop 的设备很可能速度不够快,无法播放 4k 视频。或者即使他们可以,他们的分辨率也太低,无法真正从 4k 分辨率中获得任何好处。

因此,在我看来,最优雅的解决方案是假设 android 5.0 以下不支持 4k,并使用上面的方法检查 android 5.0+ 是否支持它。

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

检查Android设备是否支持4K视频? 的相关文章

  • Hibernate更新查询问题

    对于此更新查询 update TestDB dbo MyEmp set empname where empid 我在 DAO 课上写的 MyEmployee myEmployee new MyEmployee MyEmployee myEm
  • 基于磁盘的 HashMap [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Java 是否有 或者是否有可用的库 允许我拥有基于磁盘的 HashMap 它不需要是原子的或任何东西
  • 相对重力

    我最近开始使用jMonkey引擎 这非常好 但我在尝试实现相对重力时陷入了困境 我想让行星彼此围绕轨道运行 不一定是完美的圆形轨道 取决于速度 所以每个对象都应该影响其他对象 我现在拥有的 关闭全球重力 bulletAppState get
  • 如何在不冒 StackOverflowError 风险的情况下使用 CompletableFuture?

    我想遍历异步函数的搜索空间 我将逻辑编码如下 Assuming that a function maps a range of inputs to the same output value minimizes the input valu
  • 错误包括 bouncycastle 提供商

    我需要使用bouncycastle provider我的项目中的库 我已将其包含在 gradle 项目中 apply plugin application sourceCompatibility 1 6 version 1 0 0 main
  • RecyclerView onClick notificationItemRemoved 不会触发 onBindView

    I use notifyItemRemoved 方法我想更改其他剩余项目 但该方法没有触发onBindView 方法 除了使用notifyDataSetChanged 我想要附带的动画notifyItemRemoved method 如果您
  • 将序列化数据发送到 servlet 时出现 java.io.EOFException

    我正在尝试从 Java 本地应用程序上传一个包含文件到服务器的对象 我的计划是 在 tomcat 上运行的 servlet 将使用以下方法获取对象ObjectInputStream in the doGet方法 但我得到一个EOFExcep
  • 如何更改Android软键盘中任意键的按键背景

    我想让键盘上的一些键与其他键不同 例如下图中的shift 删除 空格键 根据google的参考文档 我们可以通过使用 来改变按键的背景android keybackground drawable xxx in input xml 但它改变了
  • Spring Boot 中的服务限流能力

    有什么办法可以实现Spring中其余服务的服务限制能力 特别是Spring boot 这里的期望是 我的服务暴露于外界 目前每秒 分钟的服务调用数量没有限制 我们希望通过设置限制来控制这一点 我有一个替代选项 通过跟踪并发哈希映射或任何缓存
  • ListPreferences 的异常

    这是我的第一个 Android 应用程序 在尝试使用 ListPreference 时遇到了异常 应用程序与首选项一起加载 但是当我触摸 ListPreference 条目时 应用程序 意外停止 设置 java public class S
  • Android 中应用程序在后台运行时如何显示闪屏?

    我的应用程序有一个启动屏幕 无法避免它 因为这是出于品牌原因 我想屏蔽用户界面并在后台显示启动屏幕 就像银行应用程序那样 我应该覆盖 MainActivity 中视图的 onPause 和 onResume 吗 显现
  • 如何预先填充 JFileChooser 将“文件名”?

    我打算用数据库中的名称填充 JFileChooser 但使用标准 JFileChooser 对话框进行加载 删除 保存和另存为 我想给用户留下这样的印象 他们正在处理文件系统 而在后端使用数据库来保存更改 用户不应该能够浏览到不同的目录进行
  • 使用 Ant 构建 Android 库项目

    我在使用 ant 构建 Android 库项目时遇到问题 当我尝试跑步时ant release 它说Target release does not exist in the project MyProject 然后我假设库可能无法通过发布
  • Android动态功能模块,找不到资源

    当下载的功能模块发布到 Play 商店时 我在启动活动时遇到问题 它总是在下载模块活动中的 setContentView 上崩溃 java lang RuntimeException Unable to start activity Com
  • Java 中有类似 .NET 的 NotImplementedException 的东西吗?

    有没有类似 NET 的东西NotImplementedException在Java中 康芒斯朗 http commons apache org proper commons lang javadocs api 2 6 org apache
  • 原子整数的compareandexchange()与compareandset()

    在研究 AtomicInteger 时 我发现这个 API 提供了两种方法 比较和交换 如果当前值被引用 则自动将该值设置为 newValue to 作为见证值 预期值 记忆效应为 由指定VarHandle compareAndExchan
  • 找出对象列表中是否包含具有指定字段值的内容?

    我有一个从数据库收到的 DTO 列表 它们有一个 ID 我想确保我的列表包含具有指定 ID 的对象 显然 在这种情况下创建具有预期字段的对象不会有帮助 因为 contains 调用 Object equals 并且它们不会相等 我想出了这样
  • 与手动搜索列表相比,Collections.binarySearch 的性能如何?

    我想知道该使用哪一个 我有一份学生名单 我想用他的名字搜索一个学生 到目前为止 我是通过迭代列表手动完成的 如下所示 for int i 0 i lt list size i Student student list get i if st
  • 更改 ActionMode 溢出图标

    有没有办法更改 ActionMode Overflow 图标而不更改 正常 ActionBar 的图标 我仍然需要弄清楚如何仅更改 ActionMode Actionbar 内部的溢出图标 因为我更改了默认操作栏中的溢出图标 该图标在 Ac
  • Spring Boot 2 中的 401 代替 403

    With 春季启动 https projects spring io spring boot 1 5 6 发布我能够发送 HTTP 状态代码401代替403如中所述如果请求未经身份验证的uri 如何让Spring Security响应未经授

随机推荐

  • ASP.NET MVC 2 RC 客户端验证不起作用

    我似乎无法在 MVC 2 RC 应用程序上进行任何客户端验证 我的模型有以下内容 public class ExampleModel Required ErrorMessage Test1 is required DisplayName T
  • 设置 Gradle 以在 Android Studio 中运行 Java 可执行文件

    所以事情是这样的 我使用的是 Android 版 ORMLite 它使用注释来在 Android 中进行映射 如您所知 Android 中的注释速度很慢 ORMLite 的开发者已经意识到这一点 因此他们添加了运行 java 可执行文件来生
  • 如何检查一个对象是列表还是元组(但不是字符串)?

    这是我通常所做的 以确定输入是list tuple 但不是str 因为很多次我偶然发现函数传递一个错误str错误地对象 并且目标函数确实for x in lst假如说lst实际上是一个list or tuple assert isinsta
  • Flutter Stack 更改深度

    我有一个带有 3 个定位小部件的堆栈 并且作为一个孩子有一个 GestureDetector 我可以拖动它们 但我也想在您单击它时将单击的那个带到前面 我尝试在父窗口小部件中调用更改状态 但这也交换了受影响的窗口小部件的位置 这是完整的示例
  • 将 jquery 对象链接/取消链接到元素

    我正在使用 jquery flowplayer 工具插件http flowplayer org tools tooltip html 1 我希望在用户单击某个元素时创建一个工具提示 2 当用户点击另一个元素时 旧的工具提示必须取消链接 删除
  • JavaScript 的简单(非安全)哈希函数? [复制]

    这个问题在这里已经有答案了 可能的重复 从 Javascript jQuery 中的字符串生成哈希 谁能建议一个用 浏览器兼容 JavaScript 编写的简单 即数十行代码 而不是数百行 哈希函数 理想情况下 我想要的东西是 当传递一个字
  • 用c#获取每个资源管理器窗口的路径

    我对 C 很陌生 我很无聊 有时我关闭一个窗口 几秒钟后我注意到我再次需要该窗口 并且重新打开 Windows 资源管理器并导航到该特定路径让我感到非常沮丧 所以我想创建一个小应用程序 允许我存储最后关闭的窗口的列表 使用快捷键可以一一恢复
  • MySQL 返回连接表的第一行

    我有两个表 国家和鸭子 其中国家 地区表包含世界上的每个国家 地区 鸭子表包含鸭子列表 其中包含用于链接到主要国家 地区的 Country id 字段 我正在尝试获取仅包含至少一只鸭子的国家 地区的列表 并从鸭子表中获取该国家 地区评价最高
  • Android - 单击一项后保持 ListView 的项目突出显示

    所以我有一个活动 2ListView小部件 当您在第一个小部件中选择一个值时 第二个小部件将填充与第一个小部件中的选择相关的值ListView 这个机制工作没有问题 但现在我希望用户选择保持突出显示 我已经阅读了大量与该主题相关的问题 似乎
  • 通用扩展和实现

    我不明白为什么Company编译 我以为它检查了extends但不是为了implements public interface Employee public class HourlyEmployee implements Employee
  • 向 HTML 文本区域添加行号

    我有一个
  • Scrapy中间件订单

    Scrapy 文档 says 首先 中间件是最接近的一个 发动机 最后一个更接近 到下载器 决定分配给哪个订单 你的中间件看到 DOWNLOADER MIDDLEWARES BASE 设置 并根据位置选择一个值 你想插入中间件 这 顺序很重
  • 为什么无法将 XDocument XDeclaration 编码类型设置为 iso-8859-1?

    为什么下面的代码没有设置XML声明编码类型 它始终将编码设置为 utf 16 我错过了一些非常明显的东西吗 var xdoc new XDocument new XDeclaration 1 0 iso 8859 1 null new XE
  • getRight、getLeft、getTop 返回零

    我正在使用以下代码 但所有方法都返回零值 我知道要获取视图的坐标 应该绘制我们的视图 这就是为什么我在 onResume 方法中使用代码但仍然不起作用 任何想法 Override public void onResume super onR
  • 为什么 Integer.MIN_VALUE 的绝对值等于 Integer.MIN_VALUE

    在java中当我说Integer i Math abs Integer MIN VALUE 我得到与答案相同的值 这意味着i包含Integer MIN VALUE 我也在 C 中验证了同样的情况 为什么会有这种行为 阅读 Joshua Bl
  • 无法从 shell 访问集合 - SyntaxError: Missing ;之前的语句(外壳):1

    我编写了一个脚本 使用 mongoimport 将 csv 文件加载到 mongodb 中 当我对两个相似的 csv 文件 同一类型 运行此命令时 两者都可以正常上传 但是我只能从 mongodb shell 访问其中一个 以下是 mong
  • 如何生成变更日志:自上次 Hudson 构建以来的 git 日志?

    我正在使用 Phing 在 Hudson 中执行构建后任务 我想生成包含自上次成功构建 Hudson 以来的所有提交的变更日志 但看起来 Hudson 和 Hudson 的 Git 插件都不提供 last build time 多变的 这将
  • LibGit2 LibGit2Sharp (+SSH) 的 SSH 私钥应采用哪种格式

    我有点陷入 SSH 私钥问题和 LibGit2Sharp Ssh 的困境 我有一个 Net C 应用程序 它使用 LibGit2Sharp Ssh 克隆 Git 存储库 我需要使用 SSH 带有用户 密码的 https 不是一个选项 并且我
  • 文本/javascript 与应用程序/javascript [重复]

    这个问题在这里已经有答案了 我对 MIME 类型的语义很好奇application javascript versus text javascript 除了明显的之外 一个是要执行的 另一个是文本 I see application jav
  • 检查Android设备是否支持4K视频?

    我正在尝试在我的应用程序中播放 4K 视频 但只要所有设备都无法播放 4K 视频 我就会遇到一些麻烦 在播放视频之前 如何在运行时检查该设备是否支持它 首先 您必须记住 4k 只是一个分辨率 但您还必须记住比特率 以下是测试在特定设备上是否