依次播放声音池中的声音

Posted

技术标签:

【中文标题】依次播放声音池中的声音【英文标题】:Playing sound from sound pool in sequence 【发布时间】:2016-12-25 17:46:46 【问题描述】:

我的应用程序是盲人的电话拨号器,有一个键盘可以显示输入的数字,我正在制作一个播放按钮来显示所有输入的数字。

我试图让所有数字依次播放,但唯一的问题是我不能用声音池来做到这一点,而媒体播放器类对我没有帮助有没有办法用声音池做到这一点在第一个数字和第二个数字之间进行延迟。

这是我用来检索用户输入的代码:

char char1 = text.charAt(0);
int i = soundIdShot2 + char1 - 50;
sp.play(i, 1, 1, 0, 0, 1f);

char char2 = text.charAt(1);
int s = soundIdShot2 + char2 - 50;

sp.play(s, 1, 1, 0, 0, 1f);

【问题讨论】:

你需要提供一个更好的问题,更多(完整)代码:***.com/help/mcve 【参考方案1】:

我通过为每个声音添加一个处理程序并在每个声音之间进行延迟来解决问题。

【讨论】:

【参考方案2】:

试试这个:

textToSpeech.speak("thenumberpressed", TextToSpeech.QUEUE_FLUSH, null);                                              
Handler handler = new Handler();   
handler.postDelayed(new Runnable() 
   public void run() 
       //repeat the text to speech line
    
, 10000);

//repeat that 8 more times

【讨论】:

以上是关于依次播放声音池中的声音的主要内容,如果未能解决你的问题,请参考以下文章

java中的声音 - 播放声音时游戏冻结

如何确切地知道为啥声音开始播放?

音频设备测试无法播放声音

【c++】怎样才能使程序播放文件中的声音?

如果声音正在播放 jquery

使用 AudioToolBox 播放声音文件的类编译但没有声音