【问题标题】:updating the ui from thread using audiotrack使用音轨从线程更新 ui
【发布时间】:2011-07-06 22:26:09
【问题描述】:

我有一个应用程序,它使用 audiorecord 和 audiotrack 来录制音频来播放。我在 ui 中有一个进度条,需要随着曲目的播放而增加。 audiotrack api 说 read 和 write 方法是阻塞的。这意味着 ui 在写入完成之前被冻结,这对进度条没有好处。我已经查看了静态和流式两种音频模式,但两者都是阻塞的。有没有办法在流式传输或编写音轨时更新 ui?

谢谢垫子

【问题讨论】:

    标签: android


    【解决方案1】:

    使用AsyncTask 是最简单的方法之一。

    【讨论】:

      【解决方案2】:

      将尽可能多的处理转移到后台线程是很重要的。主要原因是您的应用在 5 秒内没有响应 ui 请求,android 会给用户一个可怕的“强制关闭”屏幕。请参阅AsyncTask 了解最简单的方法。只需确保将任何更新 ui 的代码放入 AsyncTask 的 onProgressUpdate 部分。如果您选择以另一种方式进行线程,使用runOnUiThread 将解决这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多