【发布时间】:2011-10-22 02:57:34
【问题描述】:
我正在尝试连续播放声音,并且在流模式下创建了音轨。它可以工作,但是每次侦听器做出反应并将一批新数据写入缓冲区时,UI 都会冻结一小段时间。轨道与侦听器一起驻留在他们自己的线程中,并且线程设置为最低优先级。
我做错了什么?
出于我的目的,我可能会使用循环方法,但我想了解如何在不阻塞 UI 的情况下流式传输声音。
提前致谢。
【问题讨论】:
标签: android user-interface stream audiotrack
我正在尝试连续播放声音,并且在流模式下创建了音轨。它可以工作,但是每次侦听器做出反应并将一批新数据写入缓冲区时,UI 都会冻结一小段时间。轨道与侦听器一起驻留在他们自己的线程中,并且线程设置为最低优先级。
我做错了什么?
出于我的目的,我可能会使用循环方法,但我想了解如何在不阻塞 UI 的情况下流式传输声音。
提前致谢。
【问题讨论】:
标签: android user-interface stream audiotrack
你是在一个单独的线程上写的吗?这才是真正重要的。尝试使用AsyncTask 来执行此操作。如果你想要额外的信用,你可以阅读Painless Threading 文章,了解一些不错的细节。您应该尽量避免手动创建线程。管理它们可能会很痛苦,而且你可能会搞砸。例如,我希望您使用android media playback framework 来为您处理声音的实际播放。
【讨论】: