Android VideoView播放视频控制:开始、暂停、快进(3)

本文在附录参考文章(1)的基础上增加的Android VideoView播放视频时候的控制。控制主要依赖VideoView的start(开始),pause(暂停),seekTo(快进,跳到某一个时间点开始)

先写一个布局文件(增加控制按钮):

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="com.example.videoview.MainActivity" >

android:id="@+id/videoView"

android:layout_width="match_parent"

android:layout_height="match_parent" />

android:id="@+id/linearLayout"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_gravity="bottom"

android:orientation="horizontal" >

android:id="@+id/start"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="开始" />

android:id="@+id/pause"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="暂停" />

android:id="@+id/seekto"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="3秒处" />

Java代码:

package com.example.videoview;

import java.io.File;

import android.app.Activity;

import android.os.Bundle;

import android.os.Environment;

import android.view.View;

import android.widget.Button;

import android.widget.VideoView;

public class MainActivity extends Activity implements Button.OnClickListener {

private VideoView videoView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

videoView = (VideoView) findViewById(R.id.videoView);

// 获得的path等于:/storage/emulated/0/DCIM

File path = Environment

.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);

// 拼接完整路径

File f = new File(path, "/Camera/test.mp4");

// 此时的f.getAbsolutePath()=/storage/emulated/0/DCIM//\Camera/test.mp4

videoView.setVideoPath(f.getAbsolutePath());

// 开始播放视频

// videoView.start();

// VideiView获焦点

// videoView.requestFocus();

Button start = (Button) findViewById(R.id.start);

start.setOnClickListener(this);

Button pause = (Button) findViewById(R.id.pause);

pause.setOnClickListener(this);

Button seekto = (Button) findViewById(R.id.seekto);

seekto.setOnClickListener(this);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

// 开始播放

case R.id.start:

videoView.start();

break;

// 暂停

case R.id.pause:

videoView.pause();

break;

// 3秒处

case R.id.seekto:

videoView.seekTo(3 * 1000);

break;

default:

break;

}

}

}

附录参考文章:

【1】《Android VideoView播放视频(1)》链接地址:http://blog.csdn.net/zhangphil/article/details/49885697

【2】《Android VideoView播放在线视频(2)》链接地址:http://blog.csdn.net/zhangphil/article/details/49885995

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐