PK创意闹新春,我正在参加「春节创意投稿大赛」,详情请看:春节创意投稿大赛
背景
以前毎到过年的时候,最期待的几件事:压岁钱,放烟花,年夜饭
随着禁放烟花的实施,看自己燃放烟花和看烟花也愈发困难了,今天就为各位xdm带来了一场有声的烟花秀,可以在手机上控制实时停止
- 先上烟花
实现
通过VideoView来实现视频的简单播放
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<VideoView
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:id="@+id/video"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</androidx.constraintlayout.widget.ConstraintLayout>
- 获取视频控件
VideoView videoView = findViewById(R.id.video);
- 通过Uri拿到
raw
资源下的视频文件
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video);
- 将VideoView对象和MediaController对象进行绑定
//创建MediaController对象
MediaController mediaController = new MediaController(this);
//VideoView与MediaController建立关联
videoView.setMediaController(mediaController);
//让VideoView获取焦点
videoView.requestFocus();
- 注册监听事件
//播放完成的回调
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Toast.makeText(getBaseContext(),"播放完毕",Toast.LENGTH_LONG).show();
}
});
//播放错误的回调
videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Toast.makeText(getBaseContext(),"播放出错拉...",Toast.LENGTH_LONG).show();
return false;
}
});
//视频加载完毕可以播放的回调
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
Toast.makeText(getBaseContext(),"视频准备就绪",Toast.LENGTH_LONG).show();
}
});
常用方法
getCurrentPosition
获取当前播放的位置
getDuration
获取当前视频的总时长
pause
暂停视频播放
seekTo
指定播放位置
setVideoPath
指定视频文件路径
setVideoURI
设置视频文件的URI
start
开始播放视频
最后祝各位xdm 虎年大吉,身体健康,心想事成,万事如意!