2013-02-03 1 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의 사용을 시도하지만 코드가 그들의 대답에 제안 구현하려고 할 때마다, 나는 이클립스에서 여러 오류를 가져 본 적이! 제발 도와주세요 :)

~ 톰

+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

가장 큰 존경심으로이 질문은 답변을 한 지 2 년이 지났습니다. 당신의 대답은 어쨌든 lmao입니다. –

관련 문제