您的位置:首页 > 移动开发 > Android开发

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

2018-01-04 00:00 696 查看
Android VideoView播放视频控制:开始、暂停、快进(3)

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

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

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.videoview.MainActivity" >

<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="horizontal" >

<Button
android:id="@+id/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始" />

<Button
android:id="@+id/pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂停" />

<Button
android:id="@+id/seekto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3秒处" />
</LinearLayout>

</FrameLayout>


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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: