2011-06-12 81 views
0

編輯------------ 我想擁有多個視頻,當您在屏幕上滑動手指時,它會轉到下一個帶有暫停的視頻並播放按鈕。在Android應用程序中播放視頻

LINK我的文件:http://www.mediafire.com/?ap12kiibfe438bf

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

林使這個應用程序,播放視頻和簡單exept我有多視頻播放和即時消息不知道,如果我所有的編碼是正確的,我不知道如何實現從一個視頻滾動到下一個。

這是我的Java代碼:

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 2011-06-12 17:57:14

回答

0

我不知道你真正想要的,但我注意到,ScrollView - 標籤已關閉,當您嘗試添加屬性:

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

另外,我不會在一個Activity中加載多個視頻並讓它們播放(可能會導致大量內存使用)。我會簡單地創建一個VideoView的佈局,並製作一個播放列表,當您的其中一個視頻完成並加載下一個視頻VideoView

相關問題