Android VR Player(全景视频播放器) [8]:MediaPlayer+SurfaceView 视频播放

Android VR Player(全景视频播放器) [8]:MediaPlayer+SurfaceView 视频播放

Android中播放视频一般有三种实现方式,第一种是调用其他视频播放应用;第二种是使用系统Android封装的VideoView;第三种使用MediaPlayer和SurfaceView。第一种方式当然是最简单的,两句话就搞定;第二种方式和第三种方式实质是一样的,VideoView就是系统利用MediaPlayer和SurfaceView封装的一个视频播放类,一般的视频播放的话,用这个就可以了;第三种方式稍微复杂些,不过也是最自由的。本篇博客将分享如何使用MediaPlayer和SurfaceView来实现本地视频的播放,并为视频播放添加一些播放控制。全景视频的播放同样用到MediaPlayer和“SurfaceView”,不过这里的“SurfaceView”是继承自SurfaceView的GLSurfaceView,它的使用也远远比SurfaceView复杂,所以这部分我们暂且不表,先利用本篇博客的例子熟悉一下MediaPlayer和SurfaceView。


准备布局

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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=
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好,关于使用MediaPlayerSurfaceView播放视频,可以按照以下步骤进行: 1. 在XML布局文件中添加SurfaceView控件: ``` <SurfaceView android:id="@+id/surface_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 2. 在Java代码中获取SurfaceView控件,创建MediaPlayer对象,并设置相关监听器: ``` // 获取SurfaceView控件 SurfaceView surfaceView = findViewById(R.id.surface_view); // 创建MediaPlayer对象 MediaPlayer mediaPlayer = new MediaPlayer(); // 设置SurfaceView作为MediaPlayer的显示界面 mediaPlayer.setDisplay(surfaceView.getHolder()); // 设置MediaPlayer的一些监听器 mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { // 视频准备完成后自动播放 mp.start(); } }); mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { // 视频播放完成后的处理 } }); mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { // MediaPlayer出错时的处理 return false; } }); ``` 3. 设置MediaPlayer的数据源、准备视频等操作: ``` try { // 设置MediaPlayer的数据源 mediaPlayer.setDataSource("video_path"); // 准备视频 mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); } ``` 4. 在需要的地方控制视频播放、暂停、停止操作: ``` // 播放视频 mediaPlayer.start(); // 暂停视频 mediaPlayer.pause(); // 停止视频 mediaPlayer.stop(); ``` 希望以上步骤能帮到您。若有疑问,请随时咨询。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值