问题:视频无法循环播放 Android VideoView 如何实现
答案:
实现视频循环播放 Android VideoView 有多种方法,以下是其中几种常用的方法:
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.video);
mediaPlayer.setLooping(true);
mediaPlayer.start();
VideoView videoView = findViewById(R.id.video_view);
videoView.setVideoPath("path_to_video_file");
videoView.setLooping(true);
videoView.start();
ffmpeg -loop 1 -i input.mp4 -f loop -stream_loop -1 output.mp4
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 中实现视频循环播放的几种方法,开发者可以根据自己的需求选择适合自己的方法。
【产研荟】直播系列
算法大赛
新知
云+社区开发者大会(杭州站)
云+社区技术沙龙 [第32期]
腾讯技术开放日
DBTalk
腾讯云GAME-TECH游戏开发者技术沙龙
领取专属 10元无门槛券
手把手带您无忧上云