开发者

Playing a Video In Android App

EDIT------------ I want to have multiple videos and when you slide your finger across the screen it goes to the next video with the pause and play buttons.

LINK TO MY FILES: http://ww开发者_JAVA百科w.mediafire.com/?ap12kiibfe438bf

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

Im making this app that plays videos and it simple exept i have multipul videos to play and im not sure if all my coding is right and im not sure how to implement scrolling from one video to the next.

This is my Java Code:

    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

    }
}

My 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>

if you could please help me on how to scroll from one video to the next, like do I just copy all the code and put it under what i did before? Or What?

Sorry, if im not super helpful but I really need this done.

Thanks

Eric V


I'm not sure what you really want, but i noticed that the ScrollView-tag is already closed when you try to add your Attributes:

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

Also, i wouldn't load multiple videos in one Activity and let them play (can cause lots of memory usage). I would simply create the Layout with a VideoView and make something like a Playlist, which notices when one of you Videos is finished and the loads the next Video in the VideoView.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜