2014-09-04 80 views
2

我需要播放前2分鐘的視頻。使用onBufferingUpdate()我得到緩衝的百分比。但是,在準備好的時候,我將緩衝百分比設置爲40.其中,超過2分鐘的視頻。 (考慮我有一個30分鐘的視頻)如何在Android中播放/緩衝視頻只有幾分鐘?

有沒有什麼辦法可以播放/緩衝視頻只有2分鐘?

謝謝。

回答

2

緩衝區大小已預先設置到固件中。你所能做的就是保持緩衝區填充的多少,甚至只是一個百分比。 尺寸設置爲frameworks/base/media/libstagefright/include/NuCachedSource2.h

請在code.google.com上查看此bug report


編輯: 您可以通過使用mVideoView.getCurrentPosition();這將返回以毫秒爲單位的當前位置獲得視頻的當前位置,現在你將不得不使用一個AsynTask

private class myAsync extends AsyncTask<Void, Integer, Void> 
{ 
    @Override 
    protected Void doInBackground(Void... params) { 
     mVideoView.start();    
     do {    
      try { 
       if(mVideoView.getCurrentPosition() == TimeUnit.MINUTES.toMillis(yourMinutes)){ 
        mVideoView.stop(); 
       } 
      } catch (Exception e) { 
      } 
     } while (mVideoView.getCurrentPosition() != mVideoView.getDuration()); 
     return null; 
    } 

你可以使用new myAsync().execute();語句啓動AsyncTask

+0

如果是這種情況,那麼有可能只玩2或說10分鐘,如果我忽略緩衝區? – Neha 2014-09-04 14:27:32

+1

非常感謝!!它幫助我實現我想要的工作。 :) – Neha 2014-09-05 13:48:43