2013-02-03 65 views
0

我有以下代碼。它從我的原始資源文件夾中獲取視頻並開始播放視頻,我需要它在視頻結束時循環播放視頻,但經過大量艱苦的研究後,無法爲我的生活弄清楚。Android Java:無法弄清楚如何循環我的VideoView

這是我的主要活動的Java代碼。

package com.infernowebmedia.staircat; 

import android.net.Uri; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.widget.VideoView; 
import android.widget.MediaController; 

public class MainActivity extends Activity { 

private VideoView mVideoView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mVideoView = (VideoView) findViewById(R.id.surface_view); 
    mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.staircatloop)); 
    mVideoView.start(); 

} 



@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 

} 

我見過人們嘗試使用setOnCompletionListener的,但每當我試圖執行的代碼在自己的答案建議,我從Eclipse的多個錯誤,不知道我做錯了!請幫我:)

〜湯姆

+0

你用setOnCompletionListener得到了什麼錯誤? – zibi

+0

我得到的錯誤是「類型VideoView中的方法setOnCompletionListener(MediaPlayer.OnCompletionListener)不適用於參數(new OnCompletionListener(){})」 –

+0

道歉,似乎我錯誤地忘記導入MediaPlayer。 –

回答

1

試試這個:

import android.media.MediaPlayer; 
... 
myVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
    @Override 
    public void onCompletion(MediaPlayer arg0) { 
    // restart on completion 
    myVideoView.start(); 
    } 
}); 
... 
myVideoView.start(); 
... 
0

組對prepardelistener類循環真,那麼恢復就completeListener類的視頻, 請試試這個,

myVideoView.setOnCompletionListener(new OnCompletionListener() { 

      @Override 
      public void onCompletion(MediaPlayer mp) { 
       myVideoView.resume(); 
       } 
     }); 

     myVideoView.setOnPreparedListener(new OnPreparedListener() { 

      @Override 
      public void onPrepared(MediaPlayer mp) { 
       mp.setLooping(true); 
       myVideoView.start();     
      } 
     }); 
+0

最大的尊重,這個問題已經接近兩歲了,早已回答。無論如何,你的回答是錯誤的。 –