2011-06-12 9 views
0

EDIT ------------ 여러 개의 비디오가 있고 싶고 화면을 가로 질러 손가락을 슬라이드하면 다음 비디오로 넘어갑니다 및 재생 버튼. MY FILES TOAndroid 앱에서 비디오 재생

LINK : http://www.mediafire.com/?ap12kiibfe438bf

----------------

임 비디오 및 간단 exept 내가이를 재생이 응용 프로그램을 만들기 재생할 비디오를 다중화하고 모든 코딩 작업이 올바른지, 한 비디오에서 다음 비디오로 스크롤하는 방법을 모르겠다면 잘 모릅니다.

내 자바 코드입니다 :

package com.exercise.AndroidVideoPlayer; 

import java.io.IOException; 

import android.app.Activity; 
import android.graphics.PixelFormat; 
import android.media.AudioManager; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.SurfaceHolder; 
import android.view.SurfaceView; 
import android.view.View; 
import android.widget.Button; 

public class AndroidAudioPlayer extends Activity implements SurfaceHolder.Callback{ 

    MediaPlayer mediaPlayer; 
    SurfaceView surfaceView; 
    SurfaceHolder surfaceHolder; 
    boolean pausing = false;; 

    String stringPath = "/sdcard/samplevideo.3gp"; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Button buttonPlayVideo = (Button)findViewById(R.id.playvideoplayer); 
     Button buttonPauseVideo = (Button)findViewById(R.id.pausevideoplayer); 

     getWindow().setFormat(PixelFormat.UNKNOWN); 
     surfaceView = (SurfaceView)findViewById(R.id.surfaceview); 
     surfaceHolder = surfaceView.getHolder(); 
     surfaceHolder.addCallback(this); 
     surfaceHolder.setFixedSize(176, 144); 
     surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
     mediaPlayer = new MediaPlayer(); 

     buttonPlayVideo.setOnClickListener(new Button.OnClickListener(){ 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       pausing = false; 

       if(mediaPlayer.isPlaying()){ 
        mediaPlayer.reset(); 
       } 

       mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
       mediaPlayer.setDisplay(surfaceHolder); 

       try { 
        mediaPlayer.setDataSource(stringPath); 
        mediaPlayer.prepare(); 
       } catch (IllegalArgumentException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } catch (IllegalStateException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 

       mediaPlayer.start(); 


      }}); 

     buttonPauseVideo.setOnClickListener(new Button.OnClickListener(){ 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       if(pausing){ 
        pausing = false; 
        mediaPlayer.start(); 
       } 
       else{ 
        pausing = true; 
        mediaPlayer.pause(); 
       } 
      }}); 

    } 



    @Override 
    public void surfaceChanged(SurfaceHolder holder, int format, int width, 
      int height) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void surfaceCreated(SurfaceHolder holder) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void surfaceDestroyed(SurfaceHolder holder) { 
     // TODO Auto-generated method stub 

    } 
} 

내 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" 
    > 
    <ScrollView> android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="110px" 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
    /> 
<Button 
    android:id="@+id/playvideoplayer" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="- PLAY Video -" 
    /> 
<Button 
    android:id="@+id/pausevideoplayer" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="- PAUSE Video -" 
    /> 
<SurfaceView 
    android:id="@+id/surfaceview" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    /> 
    <TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
    /> 
<Button 
    android:id="@+id/playvideoplayer" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="- PLAY Video -" 
    /> 
<Button 
    android:id="@+id/pausevideoplayer" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="- PAUSE Video -" 
    /> 
<SurfaceView 
    android:id="@+id/surfaceview" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    /> 
    </ScrollView> 
</LinearLayout> 

, 같은 단지 내가 할 모든 코드를 복사하여 이전에했던 것의 밑에 넣으십시오. 또는 무엇을?

미안하지만, 내가 도움이되지 않는다면 정말 도움이된다.

감사

에릭 V

+0

하나에서 다른 것으로 스크롤한다는 것은 무엇을 의미합니까? 레이아웃에서 서로의 아래에 똑같은 ID가 있습니다. – Blundell

답변

0

난 당신이 정말 원하는 것을 확실하지 않다,하지만 난 ScrollView -tag 이미 당신이 당신의 속성 추가 할 때 닫혀 있는지주의 :

<ScrollView> android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="110px" 

또한, 하나의 활동에 여러 개의 비디오를로드하지 않고 재생할 수 있습니다 (많은 메모리 사용이 발생할 수 있음). 간단히 레이아웃을 VideoView으로 만들고 재생 목록과 같은 것을 만드십시오.이 중 하나는 비디오가 끝나고 VideoView의 다음 비디오가로드 될 때 나타납니다.