Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-在循环中播放条件匹配的声音_Android_Audio - Fatal编程技术网

Android-在循环中播放条件匹配的声音

Android-在循环中播放条件匹配的声音,android,audio,Android,Audio,我想播放一个声音文件时,一个正确的字母被按下的一个单词被猜测(在安卓)。代码如下: boolean letterMatch = false; for(int k = 0; k < currentWord.length(); k++) { if(currentWord.charAt(k)==letterChar){ letterMatch = true; MediaPlayer mp = MediaPlayer.create(this, R.raw.correct);

我想播放一个声音文件时,一个正确的字母被按下的一个单词被猜测(在安卓)。代码如下:

boolean letterMatch = false;
for(int k = 0; k < currentWord.length(); k++) {
  if(currentWord.charAt(k)==letterChar){
    letterMatch = true;
    MediaPlayer mp = MediaPlayer.create(this, R.raw.correct);                                               
    mp.start();
    correctLetters++;
 }}
boolean-letterMatch=false;
for(int k=0;k

我遇到的问题是,它只为第一组匹配的字母播放声音,而不为同一单词中的其他匹配字母播放声音。请建议可能的修复…

MediaPlayer不是这里的最佳解决方案。一个更好的解决方案是使用。创建活动时,您将声音加载到其中,然后您可以在应用程序中的正确时间触发声音立即播放。

MediaPlayer不是最佳解决方案。一个更好的解决方案是使用。创建活动时,您将声音加载到其中,然后您可以在应用程序中的正确时间触发声音立即播放。

尝试一下

  boolean letterMatch = false;
for(int k = 0; k < currentWord.length(); k++) {
if(currentWord.charAt(k)==letterChar){
letterMatch = true;
MediaPlayer mp = MediaPlayer.create(this, R.raw.correct); 
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setLooping(true);                                              
mp.start();
correctLetters++;
boolean-letterMatch=false;
for(int k=0;k
}}试试看

  boolean letterMatch = false;
for(int k = 0; k < currentWord.length(); k++) {
if(currentWord.charAt(k)==letterChar){
letterMatch = true;
MediaPlayer mp = MediaPlayer.create(this, R.raw.correct); 
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setLooping(true);                                              
mp.start();
correctLetters++;
boolean-letterMatch=false;
for(int k=0;k

}}

在第一个请求完成之前停止声音每次启动新请求之前调用prepare listner和finish mediaplayer在第一个请求完成之前停止声音每次启动新请求之前调用prepare listner和finish mediaplayer在我的场景中似乎不起作用:-)这段代码甚至不能播放声音。这在我的场景中似乎不起作用:-(。这段代码甚至不能播放声音。