Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.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 MediaPlayer错误(-38,0)-每次触摸都会播放声音_Android_Android Mediaplayer - Fatal编程技术网

Android MediaPlayer错误(-38,0)-每次触摸都会播放声音

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

在我的应用程序中,我的40个文本视图有大约40个声音,其中一些可以播放,但有些不能。我已经查阅了其他类似的问题,但我认为我的问题不同,文本视图在按下时高亮显示为白色,未按下时变为黑色,同时播放匹配单词的声音。这两个数组长度相同-每个textview单词对应一个声音

    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