2011-02-14 76 views
0

我使用下面的代码从服务器播放歌曲。使用MediaPlayer控制流媒体

mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mediaPlayer.setDataSource(playUrl); 

而且我打电话的方法从public void onPrepared(MediaPlayer mp)方法。 但是,有时会发生缓冲5到6%,并开始播放,有时它缓冲40或60或有时80%。 而我正在使用prepareAsync()来准备球员。那么,有什么方法可以在5%或6%之后播放歌曲?

thankx

回答

0

尝试设置更新缓冲器听众和一定比例后播放视频。
编辑:

boolean mediaPrepared = false; 
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnBufferingUpdateListener(){ 
     void onPrepared(MediaPlayer mp){ 
     mediaPrepared = true; 
     } 
    }); 
mp.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener(){ 
    public void onBufferingUpdate(MediaPlayer mp, int percent){ 
    if (!mediaPrepared){ 
     mp.prepareAsync(); 
    } 
    if (percent > 5){ 
     mp.start(); 
    } 
    } 
}); 

,并确保正确处理mediaPrepared标志的值。

我不确定这是否可行,但也许你可以用它作为提示。祝你好运!

+0

我已经试过这个,但是如果玩家没有准备,会发生什么情况会发生错误。 – Hitendra 2011-02-14 12:05:55