本文共 3174 字,大约阅读时间需要 10 分钟。
1.首先在清单文件添加权限
2.在res目录下新建一个raw文件用来放视频
<--这里写登录注册的布局-->
4.自定义VideoView控件
public class CustomVideoView extends VideoView { public CustomVideoView(Context context) { super(context); } public CustomVideoView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public CustomVideoView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); setMeasuredDimension(View.MeasureSpec.getSize(widthMeasureSpec), View.MeasureSpec.getSize(heightMeasureSpec)); } /** * 播放视频 * * @param uri 播放地址 */ public void playVideo(Uri uri) { if (uri == null) { throw new IllegalArgumentException("Uri can not be null"); } /**设置播放路径**/ setVideoURI(uri); /**开始播放**/ start(); setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { /**设置循环播放**/ mp.setLooping(true); } }); setOnErrorListener(new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { return true; } }); }}
5.定义Fragment用来控制视频的播放暂停
public class VideoFragment extends Fragment{ private CustomVideoView customVideoView; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { customVideoView = new CustomVideoView(getContext()); /**获取参数,根据不同的参数播放不同的视频**/ Uri uri; uri = Uri.parse("android.resource://" + getActivity().getPackageName() + "/" + R.raw.guide); /**播放视频**/ customVideoView.playVideo(uri); return customVideoView; } /** * 记得在销毁的时候让播放的视频终止 */ @Override public void onDestroy() { super.onDestroy(); if (customVideoView != null) { customVideoView.stopPlayback(); } }}
6.登录界面的代码 注意代码先后顺序
public class ContentActivity extends AppCompatActivity { private ViewPager viewpager; private Listfragments; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_content); initView(); } private void initView() { viewpager = (ViewPager) findViewById(R.id.viewpager); viewpager.setOffscreenPageLimit(1); fragments = new ArrayList<>(); Fragment fragment1 = new VideoFragment(); fragments.add(fragment1); viewpager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { @NonNull @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); } }); }}
转载地址:http://qbjyk.baihongyu.com/