gpt4 book ai didi

java - 如何在不干扰程序 UI 的情况下播放声音?

转载 作者:行者123 更新时间:2023-12-01 15:17:12 24 4
gpt4 key购买 nike

我的应用程序旨在按照一些数学公式有节奏地播放一些声音。在为其他平台开发的该程序的其他版本中,我只是“hibernate ”线程所需的时间,直到我需要播放下一个声音,但在android中,如果您 hibernate 该进程,UI也会 hibernate 。我尝试使用下一个代码作为示例,尝试将 UI 和声音过程分开:

public class SoundThread extends Thread{
private MediaPlayer player;
SoundThread(Context context)
{
player = MediaPlayer.create(context, R.raw.ex);
}
public void run()
{
for(int x=0;x<100;x++)
{
player.start();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

此类以示例声音和调用它的 Activity 的上下文启动媒体播放器,并且应该每秒播放 R.raw.ex。但是,当我从 Activity 中调用它时,我听到声音播放正常,但我的设备认为该应用程序已卡住。

非常感谢。

最佳答案

对于这个特定的应用程序,如果您不需要播放控制,您可以将这部分代码包装在 AsyncTask 中。 .

如果您希望能够控制播放,那么您应该 implement a Service .

关于java - 如何在不干扰程序 UI 的情况下播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11462745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com