2014-09-04 84 views
0

我想只允許20%的視頻被緩衝。但由於某種原因,我的onBufferingUpdate()沒有被調用。VideoView onBufferingUpdate()沒有被調用?

任何理由? 我想在VideoView上播放.m3u8。視頻被播放,但onBufferingUpdate()沒有被調用。

這是我下面的代碼

String VideoURL =  "http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8" 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.videoview_main); 

    videoview = (VideoView) findViewById(R.id.VideoView); 

    pDialog = new ProgressDialog(VideoViewActivity.this); 
    pDialog.setTitle("Android Video Streaming POC"); 
    pDialog.setMessage("Buffering..."); 
    pDialog.setIndeterminate(false); 
    pDialog.setCancelable(false); 
    pDialog.show(); 

    try { 
     // Start the MediaController 
     MediaController mediacontroller = new MediaController(
      VideoViewActivity.this); 
     mediacontroller.setAnchorView(videoview); 
     // Get the URL from String VideoURL 
     Uri video = Uri.parse(VideoURL); 
     videoview.setMediaController(mediacontroller); 
     videoview.setVideoURI(video); 

    } catch (Exception e) { 
     Log.e("Error", e.getMessage()); 
     e.printStackTrace(); 
    } 

    videoview.requestFocus(); 
    videoview.setOnPreparedListener(VideoViewActivity.this); 
} 

@Override 
public void onPrepared(MediaPlayer mp) { 
    pDialog.dismiss(); 
    mp.setOnBufferingUpdateListener(new OnBufferingUpdateListener() { 
     // show updated information about the buffering progress 
     @Override 
     public void onBufferingUpdate(MediaPlayer mp, int percent) { 
      Log.e("ERRORRRRRRRRRR", "percent: " + percent); 
     } 
    }); 
    videoview.start(); 
} 

建議表示讚賞。

+0

您使用的是哪個Android版本? – 2015-02-10 13:25:09

回答

0

嘗試在MediaPlayer上調用start()後設置偵聽器。

0

我認爲這是因爲它是一個HLS視頻,您是否嘗試過進行HTTP下載? Test mp4 我試過這個,我可以調用它,我也叫.setVideoURI()後面的.start(),而不是onPrepared。