2012-02-14 1 views
1

업데이트 2012 년 2 월 18 일에 업데이트MediaController를 사용하여 비디오를 재생하는 버튼을 추가하는 방법은 무엇입니까?

바쁜 강사로부터 버튼이 무엇인지에 대한 답변을 받았으며 MediaController 버튼 (재생, 이전 및 다음)이어야한다고 말했고 그것이 있어야한다고 생각합니다. 사용자 정의 버튼이 아닌 항상 화면에 표시됩니다. 재생 버튼에 onclicklistener가 있다고 생각하지 않습니다. 재생 버튼 클릭에 대한 리스너가 있습니까 (코드 예제의 onCreate 활동 제외). 다른 활동을 시작하기 위해 의도를 사용하지 않으려 고합니다. 감사!


내 숙제 프로젝트가 버튼을 추가하여 (캡처 오디오 MediaPlayer를하고 MediaRecorder 클래스를 사용) 기존 프로젝트를 수정하는 것입니다 (나는 이것이 내가 만들 필요가 뭔가하지를 MediaController가 표시됩니다 재생 버튼 가정) MediaController를 사용하여 클릭하면 비디오를 재생할 수 있습니다. 나는 이것을하려고했지만 내가 추가 한 코드는 비디오를 재생하지 못했습니다. 내 수업 자료의 예제는 MediaController의 재생 버튼을 사용하므로 먼저 맞춤 재생 버튼을 사용하여 동영상을 재생하는 방법을 배우고 싶습니다. 그런 다음 나중에 기존 프로젝트에 통합하는 작업을 처리하십시오. 이 샘플 코드를 가르쳐 주시거나 저를 인도하십시오. 감사!


오늘 저는 먼저 MediaController를 사용하여 비디오를 재생하는 버튼이있는 별도의 프로젝트를 만들었습니다. 예상대로 여전히 작동하지 않습니다 (비디오 시작 실패, NullPointerException). 나는 아래에 프로젝트 파일을 제시한다. 나는 지금 우둔하다. 제게 문제를 해결하기 시작하려면 두 가지를 지적하십시오. 다시 한 번 감사드립니다! main.xml에

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <Button 
     android:id="@+id/playVideo" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Playing Video"/> 

</LinearLayout> 

Videoview.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 

    <VideoView 
     android:id="@+id/surface_view" 
     android:layout_width="320px" 
     android:layout_height="240px" 
    /> 

</LinearLayout> 
+0

http://stackoverflow.com/questions/8681550/android-2-2-mediaplayer-is-working-fine-with-one-shoutcast-url-but-not-with-the –

답변

0

당신이 한 번 봐 가지고 싶어 할 수

:

을 여기

package com.mypackage; 

import java.io.File; 
import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.MediaController; 
import android.widget.Toast; 
import android.widget.VideoView; 
import android.content.Context; 
import android.os.Environment; 

public class MediaActivity extends Activity { 

private String path; 
J 
private VideoView vd; 
//private Context context; 
private String TAG = " "; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    //context = this; 

    Button playVideoBtn =(Button)findViewById(R.id.playVideo); 

    playVideoBtn.setOnClickListener(new OnClickListener(){ 

     public void onClick(View v){ 
      try { 
       playVideo(); 
      } catch (Exception ex) { 
       Log.e(TAG, "Failed to Start Playing the video", ex); 
      } 

       } 
    }); 
} 

private void playVideo() throws Exception { 

    vd = (VideoView) findViewById(R.id.surface_view); 

    File directoryPath = Environment 
    .getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES); 
    directoryPath.mkdirs(); 

    path = directoryPath.toString() + "/Familyguy_Has_Own_Orbit.3gp"; 

    if (path == "") { 
     // Tell the user to provide a media file URL/path. 
     Toast.makeText(MediaActivity.this, "Please edit MediaActivity, and set path" 
     + " variable to your media file URL/path", Toast.LENGTH_LONG).show(); 

    } else { 

     vd.setVideoPath(path); 
     vd.setMediaController(new MediaController(this));   
     vd.requestFocus(); 
     vd.start(); 
    }  
} 


} 

내 레이아웃 파일입니다 https://github.com/commonsguy/vidtry/tree

Android: How to create video player?

+0

감사. 나는 그들을 보았다. 그러나이 프로젝트는 MediaController 클래스를 사용하지 않기 때문에 현재 프로젝트에 적용하는 방법을 쉽게 배울 수 있다고 생각하지 않습니다. 그러나 그들은 확실히 좋은 학습 자료입니다. – macrogeo