比如一串很长的数字结果:123456789.123,用语音播报出来
每个数字、符号的音乐文件都有,
我用的是SoundPool,正常播报都是从1开始,1读完然后是单位+2+单位+3+单位。。。。这样播报,这就需要在每次播报时加一个延时,
try
{
Thread thread = Thread.currentThread();
thread.sleep(500);//延时0.5秒
}
catch (InterruptedException e)
{
e.printStackTrace();
}
我用的sleep,这样会出现会死锁,不能中断也不能继续点屏幕上按钮,因为有时候会在结果没有播报完时随便点一下按钮就会停止报数并播报当前按的按钮,但是我不会多线程,,自己改的
public MyThread mClientThread;
public class MyThread extends Thread
{
@Override
public void run()
{
try
{
Thread.sleep(500);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
使用:mClientThread = new MyThread();
mClientThread.start();
这样延时没有反应,还是全部一起读了,哪位大神有这方面经验???