MediaPlayer 常用方法介绍

来源:互联网 发布:genepop软件 编辑:程序博客网 时间:2024/05/21 10:37
MediaPlayer 常用方法介绍
    方法:create(Context context, Uri uri)         通过Uri创建一个多媒体播放器。
    方法:create(Context context, int resid)   通过资源ID创建一个多媒体播放器
    方法:create(Context context, Uri uri, SurfaceHolder holder)通过Uri和指定 SurfaceHolder 【抽象类】 创建一个多媒体播放器
    方法: getCurrentPosition()                    得到当前播放位置
    方法: getDuration()                       得到文件的时间
    方法:getVideoHeight() 得到视频的高度
    方法:getVideoWidth()  得到视频的宽度
    方法:isLooping()      是否循环播放
    方法:isPlaying()      是否正在播放
    方法:pause()          暂停
    方法:prepare()            准备同步
    方法:prepareAsync()   准备异步
    方法:release()            释放 MediaPlayer  对象
    方法:reset()          重置 MediaPlayer  对象
    方法:seekTo(int msec) 指定播放的位置(以毫秒为单位的时间)
    方法:setAudioStreamType(int streamtype)   指定流媒体的类型
    方法:setDataSource(String path)           设置多媒体数据来源【根据 路径】
    方法:setDataSource(FileDescriptor fd, long offset, long length)设置多媒体数据来源【根据 FileDescriptor】
    方法:setDataSource(FileDescriptor fd)     设置多媒体数据来源【根据 FileDescriptor】
    方法:setDataSource(Context context, Uri uri)设置多媒体数据来源【根据 Uri】
    方法:setDisplay(SurfaceHolder sh)         设置用 SurfaceHolder 来显示多媒体
    方法:setLooping(boolean looping)          设置是否循环播放
    事件:setOnBufferingUpdateListener(MediaPlayer.OnBufferingUpdateListener listener) 网络流媒体的缓冲监听
    事件:setOnCompletionListener(MediaPlayer.OnCompletionListener listener)           网络流媒体播放结束监听
    事件:setOnErrorListener(MediaPlayer.OnErrorListener listener)                     设置错误信息监听
    事件:setOnVideoSizeChangedListener(MediaPlayer.OnVideoSizeChangedListener listener)视频尺寸监听
    方法:setScreenOnWhilePlaying(boolean screenOn)            设置是否使用 SurfaceHolder 显示
    方法:setVolume(float leftVolume, float rightVolume)   设置音量
    方法:start()  开始播放
    方法:stop()   停止播放

主要方法:
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:设置视频源地址
录音
相关类:MediaRecorder
方法说明:
MediaRecorder:构造方法
getMaxAmplitude:得到最大幅度
setAudioEncoder:设置音频编码
setAudioSource:设置音频源
setCamera:设置摄像机
setMaxDuration:设置最长录音时间
setMaxFileSize:设置文件的最大尺寸
setOutputFile:设置输出文件
setOutputFormat:设置输出文件格式
setPreviewDisplay:设置预览
setVideoEncoder:设置视频编码
setVideoFrameRate:设置视频帧的频率
setVideoSize:设置视频的宽度和高度(分辨率)
setVideoSource:设置视频源

File类下的方法:
public static File createTempFile(String prefix, String suffix, File directory)
Creates an empty temporary file in the given directory using the given prefix and suffix as part of the file name.
系统会自动在prefix和suffix之间加上一些数字来构建完整的文件名

实现录音的一般步骤:
1, 实例化MediaRecorder mr,调用构造方法
2, 初始化mr:mr.setAudioSource(MIC)/setVideoSource(CAMERA)
3, 配置DataSource:设置输出文件格式/路径,编码器等
4, 准备录制:mr.prepare()
5, 开始录制:mr.start()
6, 停止录制:mr.stop()
7, 释放资源:mr.release()
注:2,3不可调换顺序
添加许可:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO">
相机设置
相关类:Camera,它是专门用来连接和断开相机服务的类
Camera的几个事件:
Camera.AutoFocusCallback:    自动调焦功能
Camera.ErrorCallback:        错误信息捕捉
Camera.Parameters:        相机的属性参数
Camera.PictureCallback:    拍照、产生图片时触发
Camera.PreviewCallback:    相机预览设置
Camera.ShutterCallback:    快门设置
Camera.Size:                图片的尺寸
Camera类没有构造方法,可通过open()方法来打开相机设备
Camera类的方法介绍:
autoFocus:        设置自动对焦
getParameters:    得到相机参数
open:            启动相机服务
release:            释放相机服务
setParameters:    设置参数
setPreviewDisplay:设置预览
startPreview:    开始预览
stopPreview:        停止预览
takePicture:        拍照
注:takePicture方法要实现3个回调函数作为它的三个参数:Camera.ShutterCallback(快门),和两个Camera.Picture.Callback(图像数据)。
需要许可
<uses-permission android:name="android.permission.CAMERA" />  
若要将图片存储至sd卡中,则需要sd卡读写许可

目前存在问题:只能拍照一次,不能重新回到预览界面

闹钟设置
相关类:AlarmManager,它是专门用来设定在某个指定的时间去完成指定的事件。AlarmManager提供了访问系统警报的服务,只要在程序中设置了警报服务,AlarmManager就会通过onReceive()方法去执行这些事件,就算系统处于待机状态,同样不会影响运行。可通过Context.getSystemService(ALARM_SERVICE)方法来获得该服务。
方法说明:
cancel:    取消AlarmManager服务
set:    设置AlarmManager服务
setInexactRepeating:设置不精确周期
setRepeating:设置精确周期
setTimeZone:设置时区
注:需创建一个BroadcastReceiver的子类,并覆盖onReceive()方法
铃声设置
系统自带的铃声都放在/system/medio/audio/文件夹中
铃音类型: TYPE_RINGTONE(来电铃音),TYPE_ALARM,TYPE_NOTIFICATION
相关类:RingtoneManager
方法介绍:
getActualDefaultRingtoneUri:取得指定类型的铃声
getCursor:返回所有可用铃声的游标
getDefaultType:得到指定URI默认的铃声类型
getRingtone
getRingtonePosition:得到铃声位置
getRingtoneUri
getValidRingtoneUri:得到一个可用铃声的URI
isDefault:得到指定的Uri是否为默认的铃声
setActualDefaultRingtoneUri:设置默认的铃声


http://blog.csdn.net/zyhui65/article/details/30505845
http://www.android100.org/html/201406/05/19269.html
0 0
原创粉丝点击