使用音轨从线程更新用户界面

2023-12-20

我有一个应用程序,可以使用audiorecord 和audiotrack 来录制音频来播放。我在用户界面中有一个进度条,需要随着曲目的播放而增加。 audiotrack api 表示读取和写入方法是阻塞的。这意味着用户界面被冻结直到写入完成,这对进度条没有好处。我查看了静态和流两种音频模式,但两者都是阻塞的。有没有办法在流式传输或写入音轨时更新用户界面?

谢谢垫


Using 异步任务 http://developer.android.com/reference/android/os/AsyncTask.html将是最简单的之一。

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

使用音轨从线程更新用户界面 的相关文章

  • 在包“android”中找不到属性“backgroundTint”的资源标识符

    我发现了一些视图 xml 属性 例如backgroundTint backgroundTintMode 但是当我使用它作为视图属性定义时 Eclipse 显示错误 No resource identifier found for attri
  • 如何重试已消耗的 Observable?

    我正在尝试重新执行失败的已定义可观察对象 一起使用 Retrofit2 和 RxJava2 我想在单击按钮时重试特定请求及其订阅和行为 那可能吗 service excecuteLoginService url tokenModel Ret
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • Android 后退按钮无法与 Flutter 选项卡内的导航器配合使用

    我需要在每个选项卡内有一个导航器 因此当我推送新的小部件时 选项卡栏会保留在屏幕上 代码运行得很好 但是 android 后退按钮正在关闭应用程序而不是运行 Navigator pop import package flutter mate
  • 谷歌坐标认证

    当我尝试连接到 Google 坐标时 总是出现异常GoogleAuthException 我拥有 Google 地图协调中心许可证 我确实使用我的包应用程序名称和 SHA1 在 google 控制台中创建了我的客户端 ID 我将权限添加到清
  • 如何以编程方式检查 AndroidManifest.xml 中是否声明了服务?

    我正在编写一个库 该库提供了一项服务 其他开发人员可以通过将其包含在他们的项目中来使用该服务 因此 我无法控制 AndroidManifest xml 我在文档中解释了要做什么 但一个常见的问题是人们忽略了将适当的 标记添加到其清单中 或者
  • 计数物体和更好的填充孔的方法

    我是 OpenCV 新手 正在尝试计算物体的数量在图像中 我在使用 MATLAB 图像处理工具箱之前已经完成了此操作 并在 OpenCV Android 中也采用了相同的方法 第一步是将图像转换为灰度 然后对其进行阈值计算 然后计算斑点的数
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 无法访问 com.google.android.gms.internal.zzbfm 的 zzbfm 类文件未找到

    我正在将我的 Android 应用程序项目从GCM to FCM 为此 我使用 Android Studio 中的 Firebase 助手工具 并遵循 Google 开发人员指南中的说明 一切都很顺利 并将我的应用程序代码更改为FCM根据助
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 在gradle插件中获取应用程序变体的包名称

    我正在构建一个 gradle 插件 为每个应用程序变体添加一个新任务 此新任务需要应用程序变体的包名称 这是我当前的代码 它停止使用最新版本的 android gradle 插件 private String getPackageName
  • 如何发布Android .aar源以使Android Studio自动找到它们?

    我正在将库发布到内部 Sonatype Nexus 存储库 Android Studio 有一个功能 可以自动查找通过 gradle 引用的库的正确源 我将 aar 的源代码作为单独的 jar 发布到 Nexus 但 Android Stu
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • 在 android DatePickerDialog 中将语言设置为法语

    有什么办法可以让日期显示在DatePickerDialog用法语 我已经搜索过这个但没有找到结果 这是我的代码 Calendar c Calendar getInstance picker new DatePickerDialog Paym
  • 错误:在根项目“projectName”中找不到项目“app”

    我有一个在 Eclipse 中开发的旧应用程序 现在尝试将其迁移到 Android Studio 我更新了库并遵循了基本步骤 现在 我收到此错误 Error Project app not found in root project pro
  • .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

随机推荐

  • JQuery onpaste 事件限制用户粘贴字符,如 | , . /

    我想确保用户无法使用 粘贴字符串 我该如何防止它 我正在研究键盘按键 它在用户键入时起作用 但是我如何防止粘贴 这是jsfiddle在这里测试 http jsfiddle net JFEb4 20 这是我的 JavaScript name
  • 如何从配置文件设置 python 的登录级别

    我正在尝试为我的 python 代码设置记录器 我想从配置文件设置日志的级别 但我无法做到 下面给出了代码 如果您注意到在下面给出的代码中可以看到logger setLevel logging INFO 我不想直接提及作为硬编码值日志记录
  • 具有 64 位 Outlook 的 32 位 MAPI 应用程序

    我们的应用程序的 32 位版本无法使用以下方式发送电子邮件MAPISendMail安装了 64 位 Outlook 它返回一个错误 0x80004005 除了它似乎是一个 MAPI 初始化错误这一事实之外 我找不到任何关于该错误的信息 根据
  • Android:ACTION_UP 和 ACTION_POINTER_UP 之间的区别

    仅从 android 文档来看 我真的不明白两者之间的区别ACTION UP and ACTION POINTER UP http developer android com reference android view MotionEve
  • Meteor 路由错误:路径没有路由:/

    我已将 Meteor 更新为 Meteor 1 3 2 4 并面对这个问题 我还更新了所有软件包的最新版本 错误 路径没有路由 我在两种环境中都尝试了 meteor and 流星跑 制作 控制台中将显示相同的错误 我已经安装了以下软件包 a
  • 从 Ktor 应用程序发送电子邮件

    我目前正在使用 Ktor Netty 引擎创建我的应用程序 我在文档中搜索了当用户向我的服务器发送请求时处理发送电子邮件的任何功能 但什么也没找到 post api v1 auth TODO send email when request
  • jsf导航问题

    我有一个带有 查看用户 页面的 JSF2 项目 该页面从会话 bean 读取当前选定的用户 userHandler selectedUser 该页面旨在通过应用程序中的链接导航来访问 但是 如果用户尝试通过此 URL 直接访问 查看用户 页
  • Bootstrap 3页打印手机版

    当我们从基于 Bootstrap 3 的网站打印页面时 它们会在某些显示移动版本的浏览器上打印 我用谷歌搜索试图找到一个好的解决方案 但没有真正找到任何有效的解决方案 在屏幕上使用相同的 CSS 并将 打印隐藏 类添加到特定的 DIV 中
  • 如果我在 WRITE_EXTERNAL_STORAGE 权限中设置 maxSdkVersion,为什么我的地图应用程序会崩溃?

    我已按照中的说明设置了地图这个链接 https developers google com maps documentation android start getting the google maps android api v2 并设
  • 为什么下标运算符 C++ 经常成对出现?

    C FAQ http www parashift com c faq multidim arrays3 html正在定义一个模板容器Matrix以避免棘手new delete代码 教程说下标运算符通常成对出现 为什么会这样呢 T opera
  • 安装后无法导入lightgbm

    我的操作系统是 macOS Sierra 10 12 5 我使用的是 Anaconda 和 python 2 7 安装后 当我尝试时 将 lightgbm 导入为 lgb 我收到以下消息 OSError Traceback most rec
  • 重复JS函数

    我试图让这个函数在它的周期结束时重复 我尝试将函数分配给变量并在回调中调用该变量 但失败了 我尝试将这个函数包装在setInterval功能 仍然无法使其工作 如何让这个函数运行无限循环并重复自身 span text change type
  • 将指针与负值进行比较

    我可以将指向结构的指针强制转换为有符号值以返回不同类型的错误吗 C 标准是否允许这样做或者是未定义的行为 typedef enum lError l OK 0 l ERROR 1 l ABORT 2 l HALT 3 L STATUS ty
  • 如何在javascript中从数组中删除重复的对象?

    在我的代码中 我创建了一个名为 array1 的数组 在这个数组中我列出了多个对象 我想过滤掉 array1 对象值作为唯一 并且需要将 id 与其各自的值分组 我在这里添加了我的代码 Array1 var array1 value A i
  • 如何将本地 html 文件加载到 Jsoup 中?

    我似乎无法使用 Jsoup 库加载本地 html 文件 或者至少它似乎没有意识到这一点 我在本地文件中硬编码了确切的 html 作为 var html 当我切换到该文件而不是文件输入时 代码完美运行 但两次都会读取该文件 import ja
  • 向后读取文件(最后一行在前)

    文件看起来像这样 abcd efgh ijkl 我想使用读取文件C这样它首先读取最后一行 ijkl efgh abcd 我似乎找不到不使用的解决方案array用于存储 请帮忙 edit0 感谢所有的答案 只是为了让您知道 我是创建此文件的人
  • 如何使用SQL Server的OUTPUT子句进行更新

    DECLARE t2 AS TABLE id INT INSERT INTO dbo EntityMaster EntityType OUTPUT INSERTED EntityId INTO t2 SELECT G FROM tmp tm
  • 无法在 Winforms 中使用 C# 使用 datagridview 添加新行

    我想做一个简单的数据输入应用程序 所以我做了以下事情 创建了一个新的 Windows 窗体应用程序 添加了 DataGridView 添加了一个新的数据源 SQL Express 数据库 有一个包含 3 列的表 id name number
  • Mac/Safari 上的字体粗细变轻

    On my last website the text is perfect naturally on chrome and firefox without touching font smoothing or anything else
  • 使用音轨从线程更新用户界面

    我有一个应用程序 可以使用audiorecord 和audiotrack 来录制音频来播放 我在用户界面中有一个进度条 需要随着曲目的播放而增加 audiotrack api 表示读取和写入方法是阻塞的 这意味着用户界面被冻结直到写入完成