난 연결 문제 (http) 또는 VideoView 사용 중 하나가 있다고 생각합니다.
연결이 문제인지 확인하려면 휴대 전화의 로컬 콘텐츠 (예 : SD 카드)를 재생 해보세요.
문제는
VideoView를 지켜 보면서 클래스 서피스 뷰 SurfaceView와 MediaPlayer를 비디오 재생을 달성하기 위해 사용하는 VideoView를 지켜 보면서 사용에서 오는. MediaPlayer는 url을 설정하고, 미디어 파이프 라인을 준비하고, 파이프 라인을 시작하는 API를 가지고 있습니다.하지만 파이프 라인을 시작하기 전에; 파이프 라인은 프리 롤 상태로 준비되어야한다. 이것에 대해 응용 프로그램에 알리기 위해 MediaPlayer는 수신기를 제공합니다. 이 경우에는 onPrepareListener입니다. MediaPlayer와 상호 작용하는 VideoView도 이러한 수신기를 제공합니다 (?).
재생을 위해 VideoView를 사용하는 VideoPlayer 활동 코드 아래를보십시오. (로컬 콘텐츠에 대해서만 확인 됨) 이 활동은 재생할 파일의 절대 경로를 가져옵니다. 휴대 전화가 인터넷 연결 여부에 연결되어 있는지
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.MediaController;
import android.widget.VideoView;
public class VideoPlayer extends Activity implements OnCompletionListener, OnPreparedListener {
private static VideoView vView;
private String filePath;
public static long clipDurationMS;
private View mLoadingIndicator;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
vView = (VideoView)findViewById(R.id.VideoView01);
mLoadingIndicator = findViewById(R.id.progress_indicator);
vView.setBackgroundColor(0x0000);
Intent intent = getIntent();
Bundle extras = intent.getExtras();
filePath = (String)extras.get("URL");
vView.setVideoPath(filePath);
MediaController mc;
mc = new MediaController(this);
vView.setMediaController(mc);
vView.requestFocus();
vView.setOnCompletionListener(this);
vView.setOnPreparedListener(this);
}
public void onCompletion(MediaPlayer arg0)
{
finish();
}
public void onPrepared(MediaPlayer arg0)
{
mLoadingIndicator.setVisibility(View.GONE);
ViewGroup.LayoutParams params;
params = vView.getLayoutParams();
params.height = arg0.getVideoHeight();
params.width = arg0.getVideoWidth();
vView.setLayoutParams(params);
vView.start();
}
public void onStop(){
super.onStop();
vView.stopPlayback();
finish();
}
}
Shash
로컬 재생을 시도 했습니까? 즉 SD 카드에서 가져 왔습니까? – Shash316
다음 URL을 사용해보십시오. http://8.media.collegehumor.cvcdn.com/21/12/a8cc907f5e150fe77ce7c0c47b1b9d31.mp4 코드가 작동하지만 휴대 전화에서 해당 비디오를 재생할 수 없다는 의미입니다. 안드로이드에서 흔히 볼 수있는 비디오 포맷은 거의 없다 (비디오 파라미터도 중요하다). – ania