Android MediaPlayer视频播放详情

本文详细介绍了Android MediaPlayer的底层实现、特点、使用方法及播放视频的相关类与方法,旨在帮助开发者全面掌握MediaPlayer的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android MediaPlayer详解

MediaPlayer定义:
  MediaPlayer的底层是基于OpenCore(PacketVideo)库实现的Audio和video播放功能,上层还包含了通过Binder机制实现的进程间通讯等内容;Music和Video在Android的界面中都通过调用MediaPlayer实现。

MediaPlayer特点:
1、Android通过控制播放器的状态的方式来控制媒体文件的播放。
2、MediaPlayer配置播放资源方式多样:
如1:播放用户再应用中自带的资源文件(res/raw/)
        MediaPlayer.create(this, R.raw.test);
如2:不论是播放网络资源文件,还是SDK资源文件或者其他资源文件均采用:
  mediaPlayer.setDataSource(Context, uri);  
网络:mediaPlayer.setDataSource("http://www.citynorth.cn/music/confucius.mp3");
SDK资源文件:mediaPlayer.setDataSource("/sdcard/test.mp3");


MediaPlayer常用方法:
setDataSource(FileDescriptor fd, long offset, long length);// 原始资源文件(assets): 
setDataSource (FileDescriptor fd);// 原始资源文件(assets): 
setDataSource(String);// 存储上的音频资源文件(sdcard):
setDataSource(Context, uri);// 播放网络上的音频文件:
Mediaplayer:构造方法
create:        创建一个要播放的多媒体
getCurrentPosition:得到当前播放位置
getDuration:    得到文件的时间
prepare:    准备(同步)
prepareAsync:准备(异步)
seekTo:        指定播放的位置(以毫秒为单位)
setAudioStreamType:    设置流媒体的类型
setDataSource:    设置数据来源
setDisplay:        设置用SurfaceHolder来显示多媒体
setOnBufferingUpdateListener:    网络流媒体的缓冲监听
setOnErrorListener:            设置错误信息监听
setOnVideoSizeChangedListener:视频尺寸监听
setScreenOnWhilePlaying:        设置是否使用SurfaceHolder来显示
setVolume:                    设置音量
//获取sd卡上的音频文件
setDataSource(“/sdcard/test.mp3”);
//装载资源中的音乐
MediaPlayer.create(Activity01.this,R.raw.test);
//目前存在问题,不能循环解析出音频文件
原因:.android_secure文件夹受保护,无法获取里面的文件信息

播放视频
相关类:VideoView
方法说明:
getBufferPercentage:得到缓冲的百分比
getCurrentPosition:得到当前播放位置
getDuration:得到视频文件的时间
resolveAdjustedSize:调整视频显示大小
setMediaController:设置播放控制器模式(播放进度条)
setOnCompletionListener:当视频文件播放完时触发事件
setVideoPath:设置视频源路径
setVideoURI:设置视频源地址





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值