大树学长 2017-02-08 08:03 采纳率: 50%
浏览 1262
已结题

语音计算机,语音播报结果的问题???

比如一串很长的数字结果: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();
                    这样延时没有反应,还是全部一起读了,哪位大神有这方面经验???
  • 写回答

2条回答 默认 最新

  • 乔小南丶 2017-02-08 09:44
    关注

    你好,暂停时可以用Thread.wait让线程等待,点击继续再唤醒。
    Thread.yield();是让步 如用到多线程可以用这个

    评论

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程