iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android如何实现播放视频
  • 433
分享到

Android如何实现播放视频

android 2023-05-31 01:05:36 433人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关Android如何实现播放视频,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、通过intent的方式,调用系统自带的播放器  Uri uri&n

这篇文章将为大家详细讲解有关Android如何实现播放视频,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、通过intent的方式,调用系统自带的播放器

  Uri uri = Uri.parse("/storage/emulated/0/DCIM/Camera/20170521_200117.mp4");   //调用系统自带的播放器   Intent intent = new Intent(Intent.ACTioN_VIEW);   intent.setDataAndType(uri, "/storage/emulated/0/DCIM/Camera/20170521_200117.mp4");   startActivity(intent);

二、使用VideoView

布局文件

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="Http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_video_play_by_vv" android:layout_width="match_parent" android:layout_height="match_parent"> <VideoView  android:id="@+id/video_view"  android:layout_width="wrap_content"  android:layout_height="wrap_content"/></RelativeLayout>

Activity

public class VideoPlayByVVActivity extends AppCompatActivity { private VideoView mVideoView; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);//  requestWindowFeature(Window.FEATURE_NO_TITLE); //去掉 title//  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //设置全屏//  getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); //设置屏幕常亮  setContentView(R.layout.activity_video_play_by_vv);  mVideoView = (VideoView) findViewById(R.id.video_view);  init(); } private void init() {  String path = "/storage/emulated/0/DCIM/Camera/20170521_200117.mp4";  Uri uri = Uri.parse(path);  mVideoView.setVideoPath(path);  mVideoView.start();  mVideoView.requestFocus(); }}

三、MediaPlayer + SurfaceView

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_video_play_by_sur" android:layout_width="match_parent" android:layout_height="match_parent"> <SurfaceView  android:id="@+id/surface_view"  android:layout_width="180dp"  android:layout_height="wrap_content"/> <LinearLayout  android:layout_alignParentBottom="true"  android:layout_width="match_parent"  android:layout_height="40dp">  <Button   android:id="@+id/stop"   android:text="stop"   android:layout_weight="1"   android:layout_width="0dp"   android:layout_height="match_parent"/>  <Button   android:id="@+id/play"   android:text="play"   android:layout_weight="1"   android:layout_width="0dp"   android:layout_height="match_parent"/>  <Button   android:id="@+id/pasue"   android:text="pasue"   android:layout_weight="1"   android:layout_width="0dp"   android:layout_height="match_parent"/> </LinearLayout></RelativeLayout>

Activity

public class VideoPlayBySurActivity extends AppCompatActivity implements View.OnClickListener { private SurfaceView mSurfaceView; private MediaPlayer mMediaPlayer; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_video_play_by_sur);  mSurfaceView = (SurfaceView) findViewById(R.id.surface_view);  findViewById(R.id.stop).setOnClickListener(this);  findViewById(R.id.pasue).setOnClickListener(this);  findViewById(R.id.play).setOnClickListener(this);  init(); } private void init() {  mMediaPlayer = new MediaPlayer();  mSurfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {   @Override   public void surfaceCreated(SurfaceHolder holder) {    play();   }   @Override   public void surfaceChanged(SurfaceHolder holder, int fORMat, int width, int height) {   }   @Override   public void surfaceDestroyed(SurfaceHolder holder) {   }  }); } @Override public void onClick(View v) {  switch (v.getId()){   case R.id.stop:    stop();    break;   case R.id.play:    if(!mMediaPlayer.isPlaying()){     play();    }    break;   case R.id.pasue:    pasue();    break;  } } public void stop(){  if(mMediaPlayer.isPlaying()){   mMediaPlayer.stop();  } } public void pasue(){  if(mMediaPlayer.isPlaying()){   mMediaPlayer.pause();  }else{   mMediaPlayer.start();  } } public void play(){  String path = "/storage/emulated/0/DCIM/Camera/20170521_200117.mp4";  try {   mMediaPlayer.reset();   mMediaPlayer.setAudiOStreamType(AudioManager.STREAM_MUSIC);   //设置需要播放的视频   mMediaPlayer.setDataSource(this, Uri.parse(path));   //把视频画面输出到SurfaceView   mMediaPlayer.setDisplay(mSurfaceView.getHolder());   mMediaPlayer.prepare();   mMediaPlayer.start();  } catch (IOException e) {   e.printStackTrace();  } }}

四、 MediaPlayer + TextureView

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_video_play_by_textrue_view" android:layout_width="match_parent" android:layout_height="match_parent"> <TextureView  android:id="@+id/texture_view"  android:layout_width="wrap_content"  android:layout_height="wrap_content"/> <ImageView  android:id="@+id/video_image"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:src="@drawable/all_darkbackground"/></RelativeLayout>

Activity

public class VideoPlayByTextrueViewActivity extends AppCompatActivity implements MediaPlayer.OnPreparedListener, MediaPlayer.OnInfoListener, MediaPlayer.OnBufferingUpdateListener { private TextureView mTextureView; private ImageView mImageVideo; private Surface mSurface; private MediaPlayer mMediaPlayer; private static String path = "/storage/emulated/0/DCIM/Camera/20170521_200117.mp4"; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_video_play_by_textrue_view);  mTextureView = (TextureView) findViewById(R.id.texture_view);  mImageVideo = (ImageView) findViewById(R.id.video_image);  init(); } private void init() {  mTextureView.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {   @Override   public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width, int height) {    mSurface = new Surface(surfaceTexture);    Log.e("tag", "---- onSurfaceTextureAvailable");    play();   }   @Override   public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {    Log.e("tag", "---- onSurfaceTextureSizeChanged");   }   @Override   public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {    mTextureView=null;    mSurface=null;    mMediaPlayer.stop();    mMediaPlayer.release();    return false;   }   @Override   public void onSurfaceTextureUpdated(SurfaceTexture surface) {   }  }); } public void play(){  mMediaPlayer = new MediaPlayer();  try {   mMediaPlayer.setDataSource(getApplicationContext(), Uri.parse(path));   mMediaPlayer.setSurface(mSurface);   mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);   mMediaPlayer.setOnPreparedListener(this);   mMediaPlayer.setOnInfoListener(this);   mMediaPlayer.setOnBufferingUpdateListener(this);   mMediaPlayer.prepareAsync();  } catch (IOException e) {   e.printStackTrace();  } } @Override public void onPrepared(MediaPlayer mp) {  mImageVideo.setVisibility(View.GoNE);  mMediaPlayer.start(); } @Override public boolean onInfo(MediaPlayer mp, int what, int extra) {  return false; } @Override public void onBufferingUpdate(MediaPlayer mp, int percent) { }}

关于“Android如何实现播放视频”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Android如何实现播放视频

本文链接: https://www.lsjlt.com/news/222494.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android如何实现播放视频
    这篇文章将为大家详细讲解有关Android如何实现播放视频,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、通过intent的方式,调用系统自带的播放器  Uri uri&n...
    99+
    2023-05-31
    android
  • android实现播放网络视频
    本文实例为大家分享了android实现播放网络视频的具体代码,供大家参考,具体内容如下 PlayVideoActivity.java package cn.edu.zufe.a...
    99+
    2024-04-02
  • Android实现音乐视频播放
    本文实例为大家分享了Android实现音乐视频播放的具体代码,供大家参考,具体内容如下 步骤 1、新建一个安卓项目,再加一个assets包 2、在 assets中加入一段音频 3...
    99+
    2024-04-02
  • html5如何实现视频播放
    这篇文章主要为大家展示了“html5如何实现视频播放”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5如何实现视频播放”这篇文章吧。一、html5技术优势...
    99+
    2024-04-02
  • Django如何实现视频播放
    这篇文章主要讲解了“Django如何实现视频播放”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Django如何实现视频播放”吧!view视图import reimport ...
    99+
    2023-06-30
  • Android怎么实现音乐视频播放
    这篇文章给大家分享的是有关Android怎么实现音乐视频播放的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。步骤新建一个安卓项目,再加一个assets包在 assets中加入一段音频在界面中加入音乐的“开始”按钮和...
    99+
    2023-06-15
  • android怎么实现视频播放功能
    Android可以使用MediaPlayer或ExoPlayer等库来实现视频播放功能。以下是一种常见的实现方法:1. 添加权限和依...
    99+
    2023-08-23
    android
  • Android 视频播放器dkplayer
    gihub地址: https://github.com/Doikki/DKVideoPlayer GitHub - Doikki/DKVideoPlayer: Android Video Player. 安卓视频播放器,封装MediaPla...
    99+
    2023-10-02
    android 音视频
  • Android 播放视频之ExoPlayer
    在上一篇中,我们了解了系统自带的VideoView来播放视频,但其支持的视频格式偏少,我们需要其他的视频播放器。 ExoPlayer是Google的开源的应用级媒体播放器项目,支持多种视频格式和流媒体播放,GitHub地址。 1. ExoP...
    99+
    2023-08-21
    android ExoPlayer
  • Android GSYVideoPlayer视频播放器功能的实现
    GSYVideoPlayer GSYVideoPlayer官方地址 GSYVideoPlayer 一个基于IJkPlayer的播放器 支持调节声音亮度 边播边缓存 使用了Andro...
    99+
    2024-04-02
  • HTML5如何实现视频播放功能
    这篇文章将为大家详细讲解有关HTML5如何实现视频播放功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。hivideo是一款基于html5的视频播放器,摒弃video原有...
    99+
    2024-04-02
  • AndroidUniversalVideoView实现视频播放器
    本文实例为大家分享了Android UniversalVideoView实现视频播放器的具体代码,供大家参考,具体内容如下 1.添加依赖 app下的 build.gradle d...
    99+
    2024-04-02
  • Android 之 MediaPlayer 播放音频与视频
    本节引言: 本节带来的是Android多媒体中的——MediaPlayer,我们可以通过这个API来播放音频和视频 该类是Androd多媒体框架中的一个重要组件,通过该类,我们可以以最小的步骤来获取,解码 和播放音视频。它支持三种不同的...
    99+
    2023-10-04
    android 音视频
  • vue中如何实现视频播放暂停
    这篇文章主要为大家展示了“vue中如何实现视频播放暂停”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中如何实现视频播放暂停”这篇文章吧。vue中的视频播放...
    99+
    2024-04-02
  • android视频播放简单实现示例(VideoView&MediaPlayer)
    如果你看过我的《android音乐播放简单实现(MediaPlayer)》,那么本篇将会毫无压力。首先是主界面的三个按钮和一个播放控件<?xml version="1.0" encoding="utf-8"?>&...
    99+
    2023-05-30
    android 视频播放 roi
  • Android如何实现微信朋友圈图片和视频播放
    这篇文章主要介绍了Android如何实现微信朋友圈图片和视频播放,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Android是什么Android是一种基于Linux内核的自由...
    99+
    2023-06-14
  • AndroidWebView实现全屏播放视频
    目录介绍主要代码介绍 最近项目开发中用到了WebView播放视频的功能,总结了开发中犯过的错误,这些错误在开发是及容易遇到的,所以我这里总结了一下,希望大家看到后不要再犯类似的错误,...
    99+
    2024-04-02
  • Android编程实现播放视频的方法示例
    本文实例讲述了Android编程实现播放视频的方法。分享给大家供大家参考,具体如下:播放视频文件其实并不比播放音频文件复杂,主要是使用 VideoView 类来实现的。这个 类将视频的显示和控制集于一身,使得我们仅仅借助它就可以完成一个简易...
    99+
    2023-05-30
    android 播放 视频
  • ssm如何实现视频的上传与播放
    这篇文章主要介绍ssm如何实现视频的上传与播放,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实现的功能:实现视频的上传与播放。使用shiro框架进行登录注册。视频分页展示在页面上。视频简介视频评论发表评论简单介绍一下...
    99+
    2023-06-14
  • C++ Qt如何实现音视频播放功能
    这篇文章将为大家详细讲解有关C++ Qt如何实现音视频播放功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。由于最近着手的Qt项目需要视频播放 自己做的时候踩了很多坑&n...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作