Android handler.postDelayed 正在停止我的媒体播放器以顺利运行歌曲?

2024-04-27

您好,我是 Android 编程新手,我在构建媒体播放器应用程序时需要很少的帮助,在该应用程序中我使用搜索栏来更新进度,如下所示:

 Handler handler = new Handler();
    paly.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    s_player.start();
                    p_bar.run();
                }
            });

Runnable p_bar = new Runnable() {
        @Override
        public void run() {
            start_time = s_player.getCurrentPosition();
            s_bar.setProgress((int) start_time);
            handler.postDelayed(p_bar, 100);

        }
    };

所以这段代码在100ms后更新sekkbar,但是歌曲播放不流畅???


我在这里发现了一个错误,它可能与问题有关,也可能与问题无关。

  Runnable p_bar = new Runnable() {
    @Override
    public void run() {
        start_time = s_player.getCurrentPosition();
        s_bar.setProgress((int) start_time);
        handler.postDelayed(p_bar, 100);

    }
};

在 p_bar 中你调用的是postDelayed在 run() 方法中,同时postDelay()会将Runnable对象添加到MessageQueue中,当Queue中到达此Runnable对象时,系统将调用Runnable的run()方法。

所以它就像一个循环,你可以运行,postDelay 会调用 run(),run() 会调用 postDelay() ....

所以请不要在run方法中调用postDelay()。

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

Android handler.postDelayed 正在停止我的媒体播放器以顺利运行歌曲? 的相关文章

  • Android 动态添加联系表单

    Hi 我想实现如图所示的表单 不知道他们如何动态添加字段 这是列表视图吗 可扩展列表 用户可以在运行时添加和删除 我已经检查了包含子项目的可扩展列表 但我们在数组中定义子元素 在图像中它们动态添加 任何指南 链接 Thanks Custom
  • 如何删除导航视图不必要的顶部填充?

    标题和图中显示的第一个项目之间有不必要的顶部填充 如何将其去除 你可以在这里找到源代码 https github com chrisbanes cheesesquare https github com chrisbanes cheeses
  • 如何在 1 个活动 (android) 中显示 2 个视图?

    假设我打开了一个网络视图 public void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView R layout ma
  • adb 服务器版本 (40) 与此客户端 (41) 不匹配;杀戮[重复]

    这个问题在这里已经有答案了 无法在 Android 上启动项目 adb server version 40 doesn t match this client 41 killing could not read OK from ADB Se
  • kotlin中的三元运算符[重复]

    这个问题在这里已经有答案了 我可以用java写 int i 10 String s i 10 Ten Empty 即使我可以将它传递到方法参数中 callSomeMethod i 10 Ten Empty 如何将其转换为 kotlin 在
  • HttpURLConnection getResponseCode 未返回

    我尝试在 Android 上使用 HttpURLConnection 将文件发布到我们的服务器 但 getResponseCode 调用只是挂起并且永远不会返回 该问题源于文件对于服务器来说太大 因此服务器发回 HTTP 错误代码 413
  • 无法解析导航抽屉中片段中的 getSystemService

    我正在尝试实现一个导航抽屉 其中有一个片段中的地图 这是我的代码 这里是fragment map xml
  • 从 Kotlin 中的字符串中删除字符

    我正在尝试创建一个使用 Kotlin 中的字符串的 Android 计算器 如果逗号 或负数 已经包含一个 我不知道如何删除它 这是我的代码 它正确添加逗号 但如果用户再次单击则不会删除它 if buClickValue contains
  • 如何更改所有 ListView 的默认分隔线颜色

    我正在尝试为 style xml 中的所有 listView 应用默认样式 请注意 在某些地方我使用嵌套列表视图 In 样式 xml
  • 将文本视图添加到布局中?

    如果我的按钮不移动 我就无法在按钮上方放置文本视图 我该如何解决这个问题 被困在这个问题上 4 个小时了 这很伤心 因为我正在尝试在我的布局上添加一个文本视图 我的布局中心有 4 个按钮 我只想在四个按钮上方添加一个文本视图 如下所示 Te
  • Android:实现使用内置电话堆栈的自定义 ConnectionService

    我正在尝试在我的自定义电话应用程序中实现自定义 ConnectionService 根据文档 http developer android com reference android telecom ConnectionService ht
  • 如何让SeekBar占据父级的整个宽度

    我有一个SeekBar in a RelativeLayout其宽度等于屏幕宽度 我申请了layout width match parent to the SeekBar但两边似乎都留有一些空白SeekBar以容纳拇指 我也尝试过使用and
  • 如何防止机器人程序和垃圾邮件 API 请求?

    我正在使用react native 开发一个Android 应用程序 该应用程序与我正在为该应用程序开发的API 进行通信 该 API 是使用 Laravel 和 Laravel Passport 构建的 我知道 Android 应用程序可
  • 如何使用GDK在卡片上显示静态地图?

    在 Mirror API 中我们可以使用类似的东西 img src height 360 width 240
  • 如何使用 gradle 动态切换/更改 testInstrumentationRunner

    我的项目有两组不同的测试 一组仅使用默认值运行AndroidJUnitRunner另一个必须使用自定义实现来运行TestRunner extends MonitoringInstrumentation 目前我切换testInstrument
  • android拦截最近的应用程序按钮

    我有一个针对儿童的应用程序 我不希望他们能够单击 最近使用的应用程序 按钮 看起来像两个矩形叠在一起的按钮 我正在负责捕获后退按钮和主页按钮 并且我已经搜索并阅读了很多有关尝试捕获 最近的应用程序 按钮的信息 但大多数人说你不能 或者他们的
  • 带有 DialogFragment 的上下文操作栏

    我一直在尝试实现一个上下文操作栏和一个对话框片段 类似于android中的下载小部件 我尝试过设置android windowActionModeOverlay主题要真实 但这似乎不起作用 有什么办法我可以实现它吗 您在屏幕截图中看到的下载
  • 使用 jenkins.Creating .apk 文件生成 android 版本

    我正在使用 Jenkins 在 mac 上持续集成 android 应用程序 但是我无法使用 Jenkins 生成 apk 文件 就像我们在 iOS 应用程序中创建 ipa 一样 创建用于在 mac 上分发的 apk 文件的配置是什么 您可
  • 在 Android 中使用 SQL (JDBC) 数据库

    在旧的 Java 应用程序中 我使用以下代码连接到 SQL 数据库并将其用于某些查询 private Connection dbConnection null System setProperty derby system home C C
  • 处理带有两个片段的操作栏

    我有一个包含两个片段的布局 两个片段都有自己的操作栏 每个操作栏都有自己的操作项和菜单 当我的应用程序处于横向模式并且两个片段都显示在屏幕上时 看起来框架正在选择在 右侧 或第二个片段 显示操作栏 这意味着左侧的片段 第一个片段 缺少其操作

随机推荐

  • 如何在项目之间移动 TFS 2010 构建定义?

    我有一些在 ProjectX 下创建的 TFS 2010 构建定义 现在源代码已移至 ProjectY 下属的文件夹中 如何将构建定义移至 ProjectY 以便它们显示在 ProjectY 的团队资源管理器的构建节点下 我认为没有现成的东
  • intellij 中的搜索到处停止工作

    当我在 intellij 中到处搜索时 我只得到我处理过的最新文件 而不是完整的结果 除了重新安装还有什么办法可以解决这个问题吗 尝试使用 Ctrl shift R 吗 这就像到处搜索一样 也允许您替换单词
  • 类数据默认初始化

    我有以下代码 include
  • 如何让我的用户脚本也在隔离沙箱和 unsafeWindow 中执行代码?

    对于我的用户脚本中的大部分代码 我需要使用unsafeWindow对于我的脚本执行的网站 我通过使用来做到这一点 grant unsafeWindow 但是 我的一些代码无法执行unsafeWindow并且需要在 Tampermonkey
  • 如何从后端路由内的第三方API获取?

    尝试从第三方 url 获取 JSON 数据并将其带到我的后端路由 首先 我将查询字符串输入到应用程序的 url 中 并将它们存储到变量中 并在第三方 url 中使用它 尽管来自应用程序 url 的查询字符串已正确存储 但第二个和第三个查询字
  • 如何从 Visual Studio Online 在 FTP 上部署工件?

    我已经在 Visual Studio Online 上设置了自动构建 并且能够在构建下获取工件 现在我想在 FTP 上部署工件 由于我的网站托管在 GoDaddy 上 并且他们为我提供了 FTP 帐户 任何人都可以帮我设置此帐户吗 这可以通
  • Reactjs中的递归函数

    我正在使用递归函数制作动态菜单 并且我已经制作了菜单并且它以正确的顺序显示 没有任何问题 我从以下位置收到菜单数据服务 js文件 您可以在下面的代码沙箱示例中看到整个工作应用程序 https codesandbox io s reactst
  • 为什么 jquery $.ajax 会删除数据中的换行符而 $.get 不会?

    我使用 ajax 和 get 调用相同的 PHP 脚本 并得到两个不同的结果 ajax 会从通过函数传递的数据中去除换行符 而 get 不会 我尝试将 dataType 显式设置为 text 和 html 但没有成功 get 的大多数参数默
  • 如何使 Java 中的自定义泛型类型链表排序?

    我正在用 java 编写自己的泛型链表 而不是使用 java 集合链表 链表的add方法由以下代码组成 public void add T item int position Node
  • 如何更改 Android 设备上的 MAC 地址? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有没有一种简单的方法可以手动更改 A
  • 如何从分叉中签出 PR?

    我正在使用 github 托管一些项目 有人分叉了我的存储库并提交了 pr 我以前从未需要在 fork 中测试 pr 我如何检查分支并测试它 我可以如何将其放入我的仓库中吗 或者我应该检查分叉并以这种方式测试分支吗 您不需要访问叉子 只需使
  • 如何在两个图像之间淡出和淡出?

    好的 这里有一点帮助 所以我的启动屏幕中加载了两个图像 第一个图像打开 启动启动画面 然后第二个图像打开 一旦第二个图像关闭 主活动就会开始 现在我的问题是如何使我的第一张图像淡出 然后淡入第二张图像 哦 是的 而且没有交叉淡入淡出 只是完
  • 在辅助方法中 React i18next useTranslation Hook

    我正在使用 React 和react i18next 我的 index tsx 文件包含一些组件 我可以在那里使用翻译功能 index js import React Suspense from react import ReactDOM
  • 检查数组中元素的数据类型是否为日期对象的最简单方法?

    我想创建一个条件来检查数组中元素的数据类型 由电子表格中的数据组成 是否是日期对象 因此 我可以操纵该日期的字符串格式 因为我不想要像这样的日期 Thu May 23 2013 00 00 00 GMT 0400 EDT 但像这样 23 0
  • 如何在 Microsoft Edge 上运行本机消息传递示例?

    我想跑安全输入 https github com MicrosoftEdge MicrosoftEdge Extensions Demos tree master SecureInput例如 但在我构建并部署 NativeMessaging
  • 有没有一种好的方法可以将每个 Meteor.user 包装在具有原型函数等的对象中?

    我正在尝试想出一种很好的方法来将从 Meteor Accounts Collection 中获取的每个用户包装在一个函数中 包括一些原型辅助函数和来自其他集合的计数等 描述这一点的最佳方法是使用代码 我想要包装每个用户的 User 函数看起
  • Android 支持 v4 22.2.0 的 Proguard 配置

    更新 Gradle Android 构建的依赖关系后使用com android support support v4 22 2 0从本地 Maven extras 存储库 在 SDK 内 Proguard 开始抛出这些问题 Warning
  • 如何避免 Scala 中的可变局部变量?

    避免在 Scala 中使用可变变量被认为是一种很好的做法 来自 Scala 编程 第 2 版 第 52 页 Scala 允许您以命令式风格进行编程 但鼓励您采用更具函数式的风格 后来 Scala 鼓励您倾向于 vals 但最终达到适合手头工
  • 如何在 AWS 中已有的 Terraform 资源(手动创建)中使用?

    有没有办法在我的 AWS 帐户中使用手动创建的 terraform 资源 我不想改变它们 老实说 我不想 碰 它们 我只需要为我正在创建的环境提供一些资源 例如 vpc 和 IAM 我读过一些有关导入的内容 但我不确定这就是答案吗 Terr
  • Android handler.postDelayed 正在停止我的媒体播放器以顺利运行歌曲?

    您好 我是 Android 编程新手 我在构建媒体播放器应用程序时需要很少的帮助 在该应用程序中我使用搜索栏来更新进度 如下所示 Handler handler new Handler paly setOnClickListener new