媒体播放器在Lollipop设备中不起作用

时间:2019-01-10 04:57:14

标签: android android-mediaplayer

我正在尝试通过媒体播放器播放音频文件。它可以在棉花糖设备中使用。不幸的是,它不能在棒棒糖设备中使用。它显示了IOException java.io.IOException: Prepare failed.: status=0x105。我不明白会有什么问题。我知道这是常见问题。但是我从旧问题中得不到任何解决方案。

   try {
         mPlayer.setDataSource(mChapter.getChapterAudioLink());
                } catch (IllegalArgumentException e) {
                    e.printStackTrace();
                    Toast.makeText(context, "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
                } catch (SecurityException e) {
                    e.printStackTrace();
                    Toast.makeText(context, "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
                } catch (IllegalStateException e) {
                    e.printStackTrace();
                    Toast.makeText(context, "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
                } catch (IOException e) {
                    e.printStackTrace();
                }
   try {

                    mPlayer.prepare();
                    mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                        @Override
                        public void onPrepared(MediaPlayer mediaPlayer) {
                            playOrPause.setImageResource(android.R.drawable.ic_media_pause);
                            mAudioDialog.show();
                            mPlayer.start();
                            mDurationTextView.setText(convertSecondsToHMmSs(mPlayer.getDuration()) + "");
                            mSeekbarAudio.setMax(mPlayer.getDuration());
                        }
                    });
                    //   mPlayer.prepareAsync();
                } catch (IllegalStateException e) {
                    e.printStackTrace();
                    Toast.makeText(context, "You might not set the URI correctlyyy!", Toast.LENGTH_LONG).show();
                } catch (IOException e) {
                    e.printStackTrace();
                    Toast.makeText(context, "You might not set the URI correctlyy!", Toast.LENGTH_LONG).show();
                }

我正在获取最后一个IOException。

1 个答案:

答案 0 :(得分:2)

URL中的空格对我造成了此问题。我用%20替换了空格,效果很好。

mPlayer.setDataSource(mChapter.getChapterAudioLink().replaceAll(" ","%20"));