转载请说明出处
最近在做公司新产品的设计,想到视频播放效果设计加入到项目应该挺不错的,所以我们想将这个设计理念加入到我们的产品中。
以下是demo
[XML]
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_video" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context="com.dzz.android_a1.VideoActivity"> <VideoView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/video" /> </LinearLayout>
[Java]代码
package com.dzz.android_a1; import android.graphics.PixelFormat; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.widget.MediaController; import android.widget.Toast; import android.widget.VideoView; import java.io.File; public class VideoActivity extends AppCompatActivity { private VideoView video; private MediaController mediaController; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_video); getWindow().setFormat(PixelFormat.TRANSLUCENT); video = (VideoView) this.findViewById(R.id.video); // 使用这种方式创建MediaController将不会显示“快进”和“快退”两个按钮 // mediaController = new MediaController(this,false); mediaController = new MediaController(this); File videoFile = new File("/mnt/sdcard/videoe.mp4"); // 先判断这个文件是否存在 if (videoFile.exists()) { Log.i("test","找到视频"); video.setVideoPath(videoFile.getAbsolutePath()); // 设置VideView与MediaController建立关联 video.setMediaController(mediaController); // 设置MediaController与VideView建立关联 mediaController.setMediaPlayer(video); // 让VideoView获取焦点 video.requestFocus(); // 开始播放 video.start(); } else { Toast.makeText(this, "文件不存在", Toast.LENGTH_LONG).show(); } } }注: 视频文件就放在手机里