Android中常见音、视频支持的格式

视频 音频
3GPP、MPEG-4 MP3、3GPP、Ogg、WAVE

MediaPalyer

实例化分两种情况:

使用new 关键字:

setDataSource(); // 装载资源,此时资源并没有真正加载
prepare(); //必须调用,预加载

静态:
使用后若视频无法观看,或者获取不到会抛出空指针异常

create(Content content,Uri uri);
create(Content content, int resid);

除了上边的方法之外,常用方法:

方法 描述
start() 开始播放视频或者恢复暂停的视频
pause() 暂停播放
stop() 停止播放
reset() 重置MediaPalyer对象,之后可以设置新的视频或者音频资源
release() 释放资源
setDisplay() 关联SurfaceView,使用SurfaceView的getHolder()方法做参数

注册监听,这个监听只有在视频结束时会回调:

mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {@Overridepublic void onCompletion(MediaPlayer mediaPlayer) {Toast.makeText(MainActivity.this,"结束",Toast.LENGTH_SHORT).show();}});

实例:

权限:

<uses-permission android:name="android.permission.INTERNET"/>

主活动布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><!--SurfaceView 中有一个属性是android:keepScreenOn="true" 视频播放时打开屏幕--><SurfaceViewandroid:id="@+id/surfaceview"android:keepScreenOn="true"android:layout_gravity="center"android:layout_width="300px"android:layout_height="300px" /><Buttonandroid:id="@+id/button1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="开始或者回复播放" /><Buttonandroid:id="@+id/button2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="暂停" /><Buttonandroid:id="@+id/button3"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="停止" />
</LinearLayout>

主活动文件:

package com.example.newland.i20190821;import android.media.MediaPlayer;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;import java.io.IOException;public class MainActivity extends AppCompatActivity {MediaPlayer mediaPlayer;Button button1,button2,button3;SurfaceView surfaceView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);String path="http://f.video.weibocdn.com/004wZUsMgx07wor0Ifra01041200drbW0E010.mp4?label=mp4_hd&template=400x224.24.0&trans_finger=ac6fb6d5c49a67fe2901ae638b222ab2&Expires=1566393705&ssig=S6XrarY4eE&KID=unistore,video";//装载网络视频,记得添加网络权限,不仅仅可以播放视频,还可以播放音频,但没有图像输出,需要SurfaceView配合使用。mediaPlayer = new MediaPlayer();try {mediaPlayer.setDataSource(MainActivity.this,Uri.parse(path));mediaPlayer.prepare();} catch (IOException e) {e.printStackTrace();}/*//使用默认构造也可以加载视频MediaPlayer mediaPlayer1 = new MediaPlayer();try {//这一步并未真的装载视频mediaPlayer1.setDataSource(path);//这一步之后才会装载视频,可以理解为预加载mediaPlayer1.prepare();} catch (IOException e) {e.printStackTrace();}*//*//重置MediaPlayer对象,之后可以设置新的视频资源mediaPlayer.reset();*/button1 = findViewById(R.id.button1);button2 = findViewById(R.id.button2);button3 = findViewById(R.id.button3);surfaceView = findViewById(R.id.surfaceview);//开始或恢复button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {mediaPlayer.start();//使用SurfaceView输出图像的方法mediaPlayer.setDisplay(surfaceView.getHolder());}});//暂停button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {mediaPlayer.pause();}});//停止button3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {mediaPlayer.stop();}});//设置监听,在视频停止时才会触发mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {@Overridepublic void onCompletion(MediaPlayer mediaPlayer) {Toast.makeText(MainActivity.this,"结束",Toast.LENGTH_SHORT).show();}});}@Overrideprotected void onDestroy() {//释放资源mediaPlayer.release();super.onDestroy();}
}

Android MediaPalyer实现视频播放相关推荐

  1. Android开发之视频播放器

    Android开发之视频播放器 一.效果图 二.build.gradle中导入依赖 三.主布局文件(activity_video) 四.布局文件(video_item) 五.布局文件(activity ...

  2. 开源安卓Android流媒体音视频播放器实现声音自动停止、恢复、一键静音功能源码

    本文转自EasyDarwin团队John的博客:http://blog.csdn.net/jyt0551/article/details/60802145 我们在开发安卓Android流媒体音视频播放 ...

  3. android 实现视频播放功能,Android项目实现视频播放器

    本文实例为大家分享了Android项目实现视频播放器的具体代码,供大家参考,具体内容如下 VideoView控件是播放视频用的,借助它可以完成一个简易的视频播放器. ①在activity_main.x ...

  4. Android开发 VideoView视频播放详解

    前言 VideoView是Android主要的视频播放View,它其实是对MediaPlayer的再次封装.如果你已经了解过MediaPlayer在使用VideoView是十分简单的.如果你想先了解M ...

  5. android系统更新视频播放器,基于的Android系统地视频播放器.doc

    本科毕业设计(论文) 基于Android系统的视频播放器Through the implementation of video player based on Android platform 致 谢 ...

  6. 玩转Android之在线视频播放控件Vitamio的使用

    其实Android中自带的MediaPlayer本身就能播放在线视频,MediaPlayer结合SurfaceView播放在线视频也是不错的选择(如果你没有性能或者用户体验上的要求),关于MediaP ...

  7. Android多媒体之视频播放器高级开发

    1.获取播放的数据源 播放视频的数据源一般有两个,一个是请求网络,从服务器后台直接获取播放的视频信息,另一种是播放手机中本地的视频,这里我们采用的播放源为播放手机本地的视频 1.1 查询获取手机中的视 ...

  8. android webview 下载视频播放 206,Android webview+Html5 video

    1.网页代码,就一个video 控件: HTML5视频播放器: http://218.206.204.71/app/public/media/BHSJ.mp4 body { margin: 0; pa ...

  9. android ios 传视频播放器,推荐用于iOS / Android全面格式的视频播放器|手机最强大的播放器...

    几天前,一个朋友以ts格式下载了一些高清电视剧,但是无法在iPad上播放,因此我想在计算机上将其转换为MP4格式. 花了时间和精力,结果并不令人满意. 事实上手机上的万能播放器,所有平台现在都具有支持 ...

最新文章

  1. 机器学习理论引导 电子版_机器学习理论篇1:机器学习的数学基础(2)
  2. 通过SPANN方式将Spring&Quartz与自定义注释集成
  3. 利用openpyxl模块来操作Excel
  4. 刘宏伟计算机组成,哈工大组成原理和数据结构 ppt 计算机组成原理刘宏伟 版本一 第18讲...
  5. java final形参_求高手回答final形参问题
  6. (第十一周)俄罗斯方块测试报告
  7. 编译x264出现错误:No working C compiler found.
  8. chip_seq数据分析专题
  9. MyEclipse暗黑主题设置
  10. php网站鼠标美化,几款耐用的鼠标指针皮肤,简约清新
  11. 变量的存储类别 extern static atuo register
  12. Python 字符串 .format 方法详解
  13. 如何将硬盘数据迁移包括系统一起迁移到另一个硬盘?
  14. 2021年山东省职业院校技能大赛中职组网络安全赛项竞赛样题
  15. SuperMap基本概念
  16. android远程控制灯光,11款可用手机远程控制的智能灯
  17. uint64_t 头文件 linux,32/64位平台printf uint64的方法
  18. 【2018.10.1】「JOI 2014 Final」年轮蛋糕
  19. 我常用的5种业务分析方法
  20. 独立开发抖音、快手视频MD5值修改工具!可一键操作

热门文章

  1. 用个人博客打造一个酷酷的工作流
  2. PyGmae:有限状态机实践(十四)
  3. 【软考备战·希赛网每日一练】2023年4月28日
  4. 使用R语言画圆弧条形图
  5. [图文]历届奥斯卡影后(下)
  6. xe10 自带DEMO集合
  7. char 与Unicode编码
  8. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记 - 索引
  9. 移动OA,开启企业智能办公服务新生态
  10. 一、简单工厂模式(simple factory method)