首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

视频无法循环Android VideoView

问题:视频无法循环播放 Android VideoView 如何实现

答案:

实现视频循环播放 Android VideoView 有多种方法,以下是其中几种常用的方法:

  1. 使用 MediaPlayer 播放视频,并设置循环播放。
代码语言:java
复制
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.video);
mediaPlayer.setLooping(true);
mediaPlayer.start();
  1. 使用 VideoView 播放视频,并设置循环播放。
代码语言:java
复制
VideoView videoView = findViewById(R.id.video_view);
videoView.setVideoPath("path_to_video_file");
videoView.setLooping(true);
videoView.start();
  1. 使用 FFmpeg 命令行工具将视频文件循环播放。
代码语言:bash
复制
ffmpeg -loop 1 -i input.mp4 -f loop -stream_loop -1 output.mp4
  1. 使用 OpenGL ES 绘制视频播放,并设置循环播放。
代码语言:java
复制
public class OpenGLVideoView extends GLSurfaceView {

  public OpenGLVideoView(Context context) {
    super(context);
    // 设置循环播放
    setLooping(true);
  }

  @Override
  protected void onSurfaceCreated(GL10 gl, EGLConfig config) {
    // 设置 OpenGL 渲染程序
    GLES20.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
    GLES20.glEnable(GLES20.GL_BLEND);
    GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA);
  }

  @Override
  protected void onDrawFrame(GL10 gl) {
    // 绘制视频内容
    GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
    GLES20.glLoadIdentity();
    GLES20.glTranslatef(0.0f, 0.0f, -3.0f);
    GLES20.glRotatef(180.0f, 1.0f, 0.0f, 0.0f);
    GLES20.glScalef(0.5f, 0.5f, 0.5f);
    GLES20.glDrawArrays(GLES20.GL_TRIANGLE_FAN, 0, 4);
  }
}

以上是 Android 中实现视频循环播放的几种方法,开发者可以根据自己的需求选择适合自己的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Android使用VideoView出现无法播放此视频问题的解决方法

    前言 最近的项目中需要用到VideoView实现视频播放,自己花了一天多时间才能出来,有点想打自己再见,在学校的时候没好好学。...使用VideoView播放视频的步骤如下: 1) 在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件。 2) 调用VideoView的如下两个方法来加载指定视频。...3) 调用VideoView的start()、stop()、pause()方法来控制视频播放。...实际上与VideoView—起结合使用的还有一个MediaController类,它的作用是提供一个友好的图形控制界面,通过该控制界面来控制视频的播放。...本文主要介绍的是AndroidVideoView无法播放此视频的解决方法,下面废话不多说了,来一起看看详细的介绍吧 发现问题 废话少说,此次遇到的问题是无法播放此视频+黑屏,问题如下图, ?

    8.7K30

    Android中文API —— VideoView

    前言   本章内容是android.widget.VideoView,版本为Android 3.1 r1,翻译来自"唐明",由"cnmahj"审核,再次感谢"唐明"!...VideoView 译者署名:唐明 审核:cnmahj 版本:Android 3.1 r1 结构 继承关系 public class VideoView extends SurfaceView implements...                            android.widget.VideoView 类概述 (图片转载至这里) 用于播放视频文件。 ...VideoView 类可以从不同的来源(例如资源文件或内容提供器) 读取图像,计算和维护视频的画面尺寸以使其适用于任何布局管理器, 并提供一些诸如缩放、着色之类的显示选项。...) (译者注:设置视频文件的统一资源标识符) public void start () (译者注:开始播放视频文件) public void stopPlayback () (译者注:停止回放视频文件)

    1.4K30

    Android开发之使用VideoView实现视频的横屏播放、去除边框

    做项目需要播放一个引导视频,本以为很简单,结果动手时发现总有瑕疵,幸好有度娘,现把收获总结如下: 一、实现视频播放: 注明我这里要播放的是Android项目中的资源文件,而不是访问SD卡播放视频。...1.先把要播放的视频放到res/raw目录下 2.视频格式必须是Android支持的格式(3gp,mp4,wmv),据说swf不支持,暂未试过。...代码如下: 布局文件中添加: <VideoView android:id="@+id/video" android:layout_width="match_parent...、全屏播放,所以需要第二步: 二、视频全屏播放(去除底部出现的边框): 想要对VideoView进行参数配置,就需要用到setLayoutParams方法。...="match_parent" android:layout_height="match_parent" > <VideoView android

    1.4K20

    Android流媒体播放之VideoView

    Android支持播放网络上的视频。在播放网络上的视频时,牵涉到视频流的传输,往往有两种协议,一种是HTTP,一种是RTSP。...Android中自带的播放器,以及VideoView等都支持上述两种协 议,因此,可以直接播放网络上的视频,唯一不同的就是URI。...Android当前支持两种协议来传输视频流一种是Http协议,另一种是RTSP协议 Http 协议最常用于视频下载等,但是目前还不支持边传输边播放的实时流媒体 同时,在使用Http协议 传输视频时,需要根据不同的网络方式来选择合适的编码方式...RTSP和RTP是结合使用的,RTP单独在Android中式无法使用的。 RTSP和RTP就是为实时流媒体设计的,支持边传输边播放。...根据实际情况来使用前面介绍的两种方式,都可以播放网络上的视频,唯一不 同的就是URI 本例中使用VideoView来播放网络上的视频 ?

    2.4K90

    android多媒体类VideoView使用方法详解

    一、概述 VideoView类将视频的显示和控制集于一身,我们可以借助它完成一个简易的视频播放器。VideoView和MediaPlayer也比较相似。...步骤: 1.指定视频文件的路径, 2.接下来调用start()方法就可以开始播放视频,pause()方法就会暂停播放,resume()方法就会重新播放 注:获取视频文件也需要运行时权限,所有相关逻辑也需要写...PackageManager.PERMISSION_GRANTED) { initVideoPath(); } else { Toast.makeText(this, "拒绝权限将无法使用程序...android:name="android.permission.WRITE_EXTERNAL_STORAGE"/ VideoView并不是一个万能的视频播放工具类,如果使用它,编写一个功能十分强大的视频播放器是不太现实的...VideoView适用于一些游戏的片头动画,或者某个应用的视频宣传。

    69251

    基于ExoPlayer的ExoPlayerVideoView

    写在前面 在Android设备中,播放视频和音乐是非常普遍的。Android框架提供了一个对于媒体的操作的最省代码的解决方案:MediaPlayer。...本文并不是讲述ExoPlayer如何使用的,而是一款基于ExoPlayer的VideoView。ExoPlayerVideoView旨在提供一个快捷的视频播放布局的解决方案。 概览 ? 亮度调节 ?...ExoPlayerView是在实际工作中的产物,可能并无法完全满足各位的实际工作中的要求,但可以借鉴下。...在布局文件中引入 ExoVideoView: <com.jarvanmo.exoplayerview.ui.ExoVideoView android:id="@+id/videoView...); 注意:不要忘记释放ExoPlayer: videoView.releaseSelfPlayer(); 可以通过如下方式为视频设置一个显示名称: mediaSource.setDisplayName

    3.9K30
    领券