Android MediaPlayer错误(-38,0)-每次触摸都会播放声音
在我的应用程序中,我的40个文本视图有大约40个声音,其中一些可以播放,但有些不能。我已经查阅了其他类似的问题,但我认为我的问题不同,文本视图在按下时高亮显示为白色,未按下时变为黑色,同时播放匹配单词的声音。这两个数组长度相同-每个textview单词对应一个声音Android MediaPlayer错误(-38,0)-每次触摸都会播放声音,android,android-mediaplayer,Android,Android Mediaplayer,在我的应用程序中,我的40个文本视图有大约40个声音,其中一些可以播放,但有些不能。我已经查阅了其他类似的问题,但我认为我的问题不同,文本视图在按下时高亮显示为白色,未按下时变为黑色,同时播放匹配单词的声音。这两个数组长度相同-每个textview单词对应一个声音 words = new ArrayList<>() ;//this is the array of textviews ArrayList<MediaPlayer>word_sounds = n
words = new ArrayList<>() ;//this is the array of textviews
ArrayList<MediaPlayer>word_sounds = new ArrayList<>();
w1= MediaPlayer.create(Page12.this, R.raw.sentence10_36);
w2= MediaPlayer.create(Page12.this, R.raw.sentence10_37);
w3= MediaPlayer.create(Page12.this, R.raw.sentence10_38);
word_sounds.add(w1);
word_sounds.add(w2);
word_sounds.add(w3);
for( int i = 0 ; i < words.size();i++){
final TextView element = words.get(i);
final MediaPlayer current_sound = word_sounds.get(i);
try{
current_sound.prepare();}
catch (Exception e){}
current_sound.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
current_sound.start();
}
});
element.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
element.setTextColor(Color.WHITE);
current_sound.start();
break ;
words=newarraylist()//这是TextView的数组
ArrayListword_sounds=新的ArrayList();
w1=MediaPlayer.create(第12页,本,R.raw.sentence1036);
w2=MediaPlayer.create(第12页,此,R.raw.sentence10_37);
w3=MediaPlayer.create(Page12.this,R.raw.sentence10_38);
单词的发音。加上(w1);
加上(w2);
单词_发音。添加(w3);
for(int i=0;i