Android MediaPlayer:错误(1,-38),在模拟器中工作,但在物理设备中不工作

Android MediaPlayer:错误(1,-38),在模拟器中工作,但在物理设备中不工作,android,media-player,android-mediaplayer,android-6.0-marshmallow,android-4.4-kitkat,Android,Media Player,Android Mediaplayer,Android 6.0 Marshmallow,Android 4.4 Kitkat,我正在创建一个有音频URL列表的应用程序。 我的代码在我的模拟器(Android 6.0)中运行,其规格如下所示 但是我的物理设备Redmi note3(Android 6.0.1) 播放音频时出现问题 也适用于三星s7562安卓版4.0.4 我尝试过搜索,但没有找到任何解决方案 请看代码 holder.mp_play.setOnClickListener(new View.OnClickListener() { @Override

我正在创建一个有音频URL列表的应用程序。 我的代码在我的模拟器(Android 6.0)中运行,其规格如下所示

但是我的物理设备Redmi note3(Android 6.0.1

播放音频时出现问题

也适用于三星s7562安卓版4.0.4 我尝试过搜索,但没有找到任何解决方案

请看代码

holder.mp_play.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    players[position] = new MediaPlayer();
                    Log.e(MyUtils.DEBUG, "Playing Position:" + playingPosition);
                    holder.progressBar.setVisibility(View.VISIBLE);
                    holder.mp_play.setVisibility(View.GONE);
                    holder.mp_pause.setVisibility(View.GONE);
                    holder.mp_stop.setVisibility(View.GONE);
                    if (playingPosition != -1) {

                        if (players[playingPosition].isPlaying()) {

                            players[playingPosition].stop();
                            players[playingPosition].release();
                            notifyDataSetChanged();
                        }
                    }
                    playingPosition = position;
                    lastPlayingPosition = position;
                    try {
                        players[position].setAudioStreamType(AudioManager.STREAM_MUSIC);
                        players[position].setDataSource(classArrayList.get(position).getSongUrl());
                        players[position].prepareAsync();

                        players[position].setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                            @Override
                            public void onPrepared(MediaPlayer mediaPlayer) {
                                Log.e(MyUtils.DEBUG,"Prepared");
                                holder.progressBar.setVisibility(View.GONE);
                                players[position].start();
                            }
                        });

                        players[position].setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
                            @Override
                            public void onBufferingUpdate(MediaPlayer mediaPlayer, int progress) {
                                Log.e(MyUtils.DEBUG, "Progress: " + progress);
                                if (progress > 50) {
                                    holder.progressBar.setVisibility(View.GONE);
                                    holder.mp_play.setVisibility(View.GONE);
                                    holder.mp_pause.setVisibility(View.GONE);
                                    holder.mp_stop.setVisibility(View.VISIBLE);


                                    players[position].setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                                        @Override
                                        public void onCompletion(MediaPlayer mediaPlayer) {
                                            isPlaying=false;
                                            holder.progressBar.setVisibility(View.GONE);
                                            holder.mp_play.setVisibility(View.VISIBLE);
                                            holder.mp_pause.setVisibility(View.GONE);
                                            holder.mp_stop.setVisibility(View.GONE);
                                        }
                                    });
                                    isPlaying=true;
//                                    notifyDataSetChanged();
                                    Log.e(MyUtils.DEBUG, "BUFFER END");
                                } else {
                                    holder.progressBar.setVisibility(View.VISIBLE);
                                    holder.mp_play.setVisibility(View.GONE);
                                    holder.mp_pause.setVisibility(View.GONE);
                                    Log.e(MyUtils.DEBUG, "BUFFER START");
                                    holder.mp_stop.setVisibility(View.GONE);
                                }
                            }
                        });
                    } catch (IOException e) {
                        e.printStackTrace();
                        Log.e(MyUtils.DEBUG,"Error:"+e.getMessage());
                    }
                }
            });
这是我的日志

05-04 21:41:38.828 11306-11306/com.progontech.bithirisathi E/ExtMediaPlayer-JNI: env->IsInstanceOf fails
05-04 21:41:38.828 11306-11306/com.progontech.bithirisathi E/MediaPlayer-JNI: JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
05-04 21:41:38.828 11306-11306/com.progontech.bithirisathi E/ExtMediaPlayer-JNI: env->IsInstanceOf fails
05-04 21:41:38.828 11306-11306/com.progontech.bithirisathi E/MediaPlayer-JNI: JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
05-04 21:41:38.829 11306-11306/com.progontech.bithirisathi E/DEBUG: Playing Position:0
05-04 21:41:38.837 11306-11322/com.progontech.bithirisathi D/MediaHTTPConnection: filterOutInternalHeaders: key=User-Agent, val= stagefright/1.2 (Linux;Android 6.0.1)
05-04 21:41:38.838 11306-11321/com.progontech.bithirisathi D/MediaHTTPConnection: proxy null port 0
05-04 21:41:39.943 11306-11306/com.progontech.bithirisathi E/DEBUG: Progress: 100
05-04 21:41:39.945 11306-11306/com.progontech.bithirisathi E/DEBUG: BUFFER END
05-04 21:41:39.946 11306-11306/com.progontech.bithirisathi D/MediaPlayer: setSubtitleAnchor in MediaPlayer
05-04 21:41:39.950 11306-11306/com.progontech.bithirisathi E/DEBUG: Prepared
05-04 21:41:40.219 11306-11306/com.progontech.bithirisathi E/DEBUG: Progress: 100
05-04 21:41:40.219 11306-11306/com.progontech.bithirisathi E/DEBUG: BUFFER END
05-04 21:41:40.239 11306-11358/com.progontech.bithirisathi E/MediaPlayer: error (1, -2147479551)
05-04 21:41:40.239 11306-11306/com.progontech.bithirisathi E/MediaPlayer: Error (1,-2147479551)
05-04 21:41:40.240 11306-11319/com.progontech.bithirisathi E/MediaPlayer: error (1, -38)
05-04 21:41:40.251 11306-11306/com.progontech.bithirisathi E/MediaPlayer: Error (1,-38)

提前谢谢