如何在媒体播放器中播放字节数组中的视频

2023-12-10

我正在使用连接到我的 Android 设备的 USB 设备

该设备向我发送一个包含视频帧的缓冲区 它不断地剂量。

当我收到缓冲区时,我应该将特定的标头放入其中并将其作为 m4v 视频文件写入 SD 卡。

那我应该在媒体播放器中播放它 到目前为止,它运行良好,但我应该现场播放视频。一旦 USB 设备向我发送缓冲区,我就应该处理它并播放它,以便我可以显示视频。

我的问题是如何从字节缓冲区播放视频文件而不将其存储在 SD 卡中?


我知道问题提出已经有一段时间了,但我也处于同样的情况,我有一个通过 USB 连接的视频传输流。

看起来您需要创建一个扩展 MediaDataSource 并提供readAt() and getSize()方法。

我的理解是Android的MediaPlayer,当你提供一个URL/URI作为数据源时(通过setDataSource(),处理所有网络下载数据或从存储检索数据,并拥有播放器用户自己的 MediaDataSource。

我的计划是创建一个从 USB 设备获取传输流的服务,并不断更新我提供给 MediaPlayer 的自定义媒体数据源。

Here是我能找到的关于该主题的唯一内容,这是为使用 MediaDataSource 和 MediaPlayer 进行测试而编写的测试。他们将视频从文件读取到字节数组中,然后使用该数组readAt() and getSize()方法。

我能找到的唯一其他资源是人们向 MediaPlayer 提供字符串,但没有涉及建立自己的网络。另外,我很好奇恒定的视频流与固定大小的视频有何不同。

编辑:我写了一篇关于 MediaDataSource 以及如何开始使用它的博客文章。这里是link.

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

如何在媒体播放器中播放字节数组中的视频 的相关文章

  • getWritableDatabase() 抛出空指针异常

    我有一个具有以下代码的服务类 public class ReminderService extends WakeReminderIntentService private static final String TAG ReminderSe
  • 通过 PC (Eclipse) 在物理设备上模拟来电

    我正在开发一个 Android 项目 我希望能够在物理设备上测试我的应用程序 我测试应用程序的唯一方法是接收传入的短信和电话 我知道我可以通过 telnet 或 Eclipse 中的 DDMS 在模拟器上模拟文本和调用 是否可以做同样的事情
  • Android 单例对话框

    我有一个处理大量进度对话框的 Android 应用程序 我必须为每个活动创建一个单独的对话框 对话框创建在构造时将活动 上下文 作为参数 有没有一种方法可以创建单个对话框 与应用程序而不是活动相关 并在不同的活动中显示它 这样我就不必重复创
  • 在 Samsung Galaxy Tab 2.3.3 android 上禁用列表视图过度滚动

    我需要在列表视图中完全禁用过度滚动 以便我可以实现自己的过度滚动功能 查看核心列表视图类时似乎很简单 只需设置overscroll模式设置为 OVERSCROLL NEVER 这在我的三星 Galaxy s2 上表现良好 但不起作用Gala
  • 如何在android中获取Room数据库的行数?

    我遵循拥有存储库和道等的实践 我试图通过一个函数来获取数据库存储库中的行数 int getNumFiles List
  • 应用程序在后台时的 GeoFence 设备

    我已经实现了 geoFence api 一切正常 但还是有一些问题 我想进一步澄清我的困惑 以下是一些困惑和问题 我希望我的用户在进入地理围栏区域时收到通知 我已经实施了地理围栏转换意图服务按照指南 但当应用程序处于后台时它不会触发转换 我
  • 使用phonegap运行android命令时创建android子项目时出错

    我安装了nodejs并执行了以下操作 npm install g phonegap phonegap create
  • 如何在Android中以编程方式设置闹钟?

    以下是我的代码 任何人都可以告诉我为什么它不起作用 我已经从中学到了本教程 http androidgenuine com tag alarmreceiver excellent tutorial 但它不起作用 任何帮助都是可观的 我的代码
  • getPurchases() NullPointerException 初始化 mService

    Edit 请参阅下面我的回答以了解我的解决方案 https stackoverflow com a 20940325 3001127 当我尝试使用检查拥有的项目时收到 NullPointerException 错误getPurchases
  • ubuntu升级到14.04 TLS后eclipse Juno经常自动关闭

    在升级到 14 04 之前 我只是在使用 eclipse 但是升级到 14 04 后 我的 eclipse 经常关闭 没有任何警告消息 它会在我的桌面上生成一个 hs err pid4612 log 文件 我该如何解决这个问题 在 ecli
  • 如何使用 Visual Studio 从 Xamarin.Forms 项目生成 .apk 文件?

    我有一个 Xamarin Forms 项目 我想将其作为apk 但是我找不到如何生成 apkVisual Studio 中的文件 我该怎么做 当使用 Visual Studio 2015 Update 3 和最新的 Xamarin 工具 编
  • 请求的操作:声明您的广告 ID 权限

    今天我收到这封电子邮件 去年 7 月 我们宣布了广告政策变更 以帮助加强 安全和隐私 我们对使用的标识符添加了新的限制 针对儿童的应用程序 当用户选择删除他们的 广告 ID 以选择退出个性化广告 如果满足以下条件 开发人员将收到一串零而不是
  • Android 和 Azure 移动服务:使用 invokeAPI 返回记录集

    我正在尝试一些非常简单的事情 我有一个名为 missingvehiclesfrominventoryjob 的自定义 API 它只是从标准 SQL 查询返回记录集 我可以在我的 WinForms 和 Windows Phone 应用程序中轻
  • GCM 推送通知导致 502 Bad Gateway

    我有一个 Net Windows 服务 通过以下方式发送 GCM 推送通知https android googleapis com gcm send https android googleapis com gcm send 该服务以 10
  • 检查还是不检查“IsLibrary”?

    我使用库项目 我也创建了该项目 以便在其他应用程序中重用 构建了我的应用程序 它构建得很好 但是当我尝试通过 Eclipse Ctrl F11 安装并运行它时 我得到了这个红色无法找到 MyLib apk 我的控制台中的错误行 控制台输出
  • 访问 Android 崩溃报告

    当我使用 Sports Tracker 时 它崩溃了 当我按下 报告 按钮来报告崩溃时 我会看到一个简单的输入字段 要求对崩溃做出评论 但是 按 预览 将使我了解正在与崩溃日志一起发送的数据 数据量实际上是巨大的 包括日期 时间 设备名称
  • 发送电子邮件到多个地址 Android

    我想选择多个电子邮件地址 然后向所有这些地址发送电子邮件 我的代码如下 emailIntent putExtra android content Intent EXTRA EMAIL new String listofemailaddres
  • 如何将 gradle 项目转换为 android 项目

    我使用 Eclipse ADT 并且通过配置 gt 转换为 gradle 项目将我的 android 项目转换为 gradle 项目 实际上我需要将我的 gradle 项目转换为 android 项目 我怎样才能做到这一点 Eclipse
  • 如何获取android后台运行进程详细信息

    我想列出所有后台运行进程并从一个后台服务 没有 UI 获取这些进程的详细信息 详情如下 1 Name 2 Memory usage 3 Application related to process 4 Files they are acce
  • 是否可以在 AlertDialog 中自定义正向和负向按钮?

    是否可以在 AlertDialog 中自定义正向和负向按钮 我需要用自定义替换默认的正面和负面外观 setPositiveButton android R string ok new DialogInterface OnClickListe

随机推荐

  • 使用 D3.js 对折线图中的线条进行动画处理

    我有我的折线图 有 2 条线 绘制折线图的数据是从 csv 文件中提取的 谁能解释一下我如何从一个空图表开始 当我单击一个按钮时 我的线条在图表上有动画效果吗 提前致谢 var Button d3 select button var mar
  • 我无法在 R 中安装软件包

    当我尝试在 Rstudio 中安装任何软件包时 我收到以下错误消息 Error in install packages path 1 C Users javad Documents Rhistory win library 3 2 The
  • 处理来自 api 调用的文件下载

    在反应中 我正在根据 John Culviner 中提到的解决方案测试我的文件下载这个帖子 axios post api downloadMyFile data then response gt const url window URL c
  • jQuery.datepicker.formatDate 和时区偏移

    为了处理日期 我使用 jQuery UIpublic我的应用程序中的方法 jQuery datepicker formatDate 请参阅此处的参数和来源 https github com jquery jquery ui blob mas
  • 在 ASP.NET MVC 5 中将整个对象从视图传递到控制器

    有没有办法将整个对象从 ASP NET MVC 5 视图传递到控制器 这是我的情况 我有一个显示数据库表中所有行的视图 视图的模型是 IEnumerable 每行数据后面都有一个链接 可通往支架式 UPDATE 视图 有没有办法将整个对象传
  • C#/IRS ACA - 使用 WCF 4.5 发送带有 MTOM 附件和 GZip 编码的 Web 服务请求

    我们正在尝试通过公开的 Web 服务将数据发送到 IRS 以进行 ACA 数据传输 但由于安全标头中时间戳和签名元素的顺序 我们无法使 WSE 3 0 方法发挥作用 当 TimeStamp 元素出现在 Signature 元素之前时 IRS
  • Windows 上的 Pyusb - 没有可用的后端

    我正在尝试通过 USB 将我的 Python 应用程序接口与 NFC 设备连接 最好的选择似乎是PyUSB 但我无法让它连接到 libusb 后端 我不断得到 ValueError 没有可用的后端 我查看了堆栈跟踪 发现usb backen
  • 具有多次重复的 scikit-learn GridSearchCV

    我正在尝试为 SVR 模型获取最佳参数集 我想使用GridSearchCV超过不同的值C 然而 从之前的测试中 我注意到训练 测试集的划分极大地影响了整体性能 在本例中为 r2 为了解决这个问题 我想实现重复的 5 倍交叉验证 10 x 5
  • C# 中的 CS0649 错误

    代码中存在一个我找不到的错误 某些变量根本无法工作 我收到的警告 CS0649 字段 Calculations A 从未分配 并且始终具有默认值 0 ABC Formule path Calculations cs CS0649 字段 Ca
  • Ruby 哈希值总和

    我有一个哈希数组 players id gt 1 name gt Alda dice count gt 5 hand gt 6 5 2 4 3 id gt 2 name gt Gonzalo dice count gt 5 hand gt
  • Directdraw:旋转视频流

    Problem Windows Mobile Directdraw 旋转视频流 视频预览正在工作 我现在需要的只是旋转图像的方法 我认为处理这个问题的唯一方法是编写一个基于的自定义过滤器CTransformFilter这将为您旋转相机图像
  • Linux 找不到动态链接的应用程序

    我有一个运行 Linux Kernel 3 10 和 Busybox 的嵌入式系统 如果我交叉编译 由 bu ildroot 构建工具链 因此使用 uclibc 一个没有 static 标志的程序 它不会运行 bin sh hellowor
  • 频繁登录和退出后 Google 登录失败

    我最初可以多次使用 Google 帐户登录我的应用程序 一切安好 但如果我在一两分钟内签入和签出大约 20 次 Google 登录失败并重新登录onActivityResult函数 返回错误代码12501 resultCode 0 我使用的
  • svm scikit learn 中的类权重 = none 和 auto 之间有什么区别

    在 scikit learn svm 分类器中 class weight None 和 class weight Auto 之间有什么区别 从文档中它给出为 将类 i 的参数 C 设置为 SVC 的 class weight i C 如果没
  • 有两个变量的“for 循环”? [复制]

    这个问题在这里已经有答案了 如何在同一个变量中包含两个变量for loop t1 a list of integers strings and lists t2 another list of integers strings and li
  • 从重复值中提取 DataFrame

    我有一个 DataFrame 其中有一列 其中存储了与不同数据相关的更多重复项 A B 1 120 abc 2 121 def 3 122 ghi 4 121 abc 5 120 def 6 121 def 7 122 abc 8 121
  • 从 C# 调用 Outlook VBA 代码

    在 Visual Studio 中 我正在创建一个插件 在 addin startup 中 我将 Outlook 应用程序设置为 app Microsoft Office Interop Outlook ApplicationClass M
  • Android 上的“transition”是无效的资源目录名称吗?

    我从 Android 示例项目创建了 ApiDemos 项目 不幸的是 该项目抱怨invalid resource directory name transition ApiDemos res line 1 Android AAPT Pro
  • 设置导航栏标题的对齐方式

    我试图将导航栏的标题与我的应用程序的中心对齐 但标题似乎保留在右侧 请查找屏幕截图 我正在使用下面的代码 void viewDidLoad UIBarButtonItem addButton UIBarButtonItem alloc in
  • 如何在媒体播放器中播放字节数组中的视频

    我正在使用连接到我的 Android 设备的 USB 设备 该设备向我发送一个包含视频帧的缓冲区 它不断地剂量 当我收到缓冲区时 我应该将特定的标头放入其中并将其作为 m4v 视频文件写入 SD 卡 那我应该在媒体播放器中播放它 到目前为止