2011-08-08 9 views
1

Android app 용으로 eclipse에서 videoview를 넣었지만 비디오가 내 휴대 전화에서 재생되지 않습니다.일식의 VideoView가 휴대 전화에서 재생되지 않습니다.

package test.test; 

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


public class graphics extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 

    VideoView videoView = (VideoView) findViewById(R.id.test); 
    MediaController mediaController = new MediaController (this); 
    mediaController.setAnchorView(videoView); 
    Uri video = Uri.parse("http://commonsware.com/misc/test2.3gp"); 
    videoView.setMediaController(mediaController); 
    videoView.setVideoURI(video); 
    videoView.start(); 

    } 
} 
+0

로컬 재생을 시도 했습니까? 즉 SD 카드에서 가져 왔습니까? – Shash316

+0

다음 URL을 사용해보십시오. http://8.media.collegehumor.cvcdn.com/21/12/a8cc907f5e150fe77ce7c0c47b1b9d31.mp4 코드가 작동하지만 휴대 전화에서 해당 비디오를 재생할 수 없다는 의미입니다. 안드로이드에서 흔히 볼 수있는 비디오 포맷은 거의 없다 (비디오 파라미터도 중요하다). – ania

답변

1

난 연결 문제 (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

0

확인 (목록 활동에서 전달). 우리가보기에 Uri에서 비디오를 재생하려고하기 때문에 문제가 될 수 있습니다.

관련 문제