2017-02-15 163 views
0

我试图通过媒体播放器播放实况流mp3音频。 问题是,当我使用URL时,它阻塞了UI线程一段时间,然后它工作正常。但我需要它也会播放带有缓冲的歌曲。媒体播放器使用缓冲区播放歌曲

在此先感谢。请帮助。

try { 
      audioPlayer = new MediaPlayer(); 
      audioPlayer.setOnBufferingUpdateListener(this); 
      audioPlayer.setOnCompletionListener(this); 
      audioPlayer.setAudioStreamType(useFrontSpeaker ? AudioManager.STREAM_VOICE_CALL : AudioManager.STREAM_MUSIC); 

     try { 
      audioPlayer.reset(); 
      audioPlayer.setDataSource(mSongDetail.getPath()); 
      audioPlayer.prepare(); 
     } catch (IllegalArgumentException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (SecurityException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IllegalStateException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     audioDuration = audioPlayer.getDuration(); 
     audioPlayer.start(); 

     startProgressTimer(); 
    } catch (Exception e) { 
     if (audioPlayer != null) { 
      audioPlayer.reset(); 
      audioPlayer.release(); 
      audioPlayer = null; 
      isPaused = false; 
      MusicPreferance.playingSongDetail = null; 
     } 
     return false; 
    } 
+0

发布程序相关的问题在这里..不是一般的问题...发布你的代码...你尝试过的东西?? – Akshay

+0

我已添加代码 – priyanka

回答

0

尝试为它使用audioPlayer.prepareAsync()+ asyncHandler,或使用单独的线程。