androidMediaplayer各种属性和方法简单介绍_第1页
androidMediaplayer各种属性和方法简单介绍_第2页
androidMediaplayer各种属性和方法简单介绍_第3页
androidMediaplayer各种属性和方法简单介绍_第4页
androidMediaplayer各种属性和方法简单介绍_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、· androidMediaplayer各种属性和方法简单介绍主要涉及类:MediaPlayer(1) 当一个MediaPlayer对象被创建或者调用reset()方法之后,它处于空闲状态,调用release()方法后处于结束状态1,一个MediaPlayer对象调用了reset()方法后,再调用其它方法可能会触发OnErrorListener.onError()事件,未调用reset()方法则不会触发2,当Mediaplayer对象不再被使用时,最好调用release()方法对其进行释放,使其处于结束状态,此时它不能被使用3,Mediaplayer对象被创建时(调用构造方法)处于空

2、闲状态,若使用create()方法创建后则处于准备状态。(2) 一般情况下,一些常用的播放控制操作可能因为音频、视频的格式不被支持或者质量较差以及流超时,也有可能由于开发者的疏忽使得Mediaplayer对象处于无效状态等而导致错误。此时可通过注册setOnErrorListener方法实现监控。如果发生了错误,Mediaplayer对象将处于多雾状态,可以使用reset()方法来回复错误。(3) 任何Mediaplayer对象都必须先处于准备状态,然后才开始播放(4) 要开始播放Mediaplayer对象都必须成功调用start()方法,可通过isPlaying()方法来检测是否正在播放(5

3、) 当Mediaplayer对象在播放时,可以进行暂停和停止操作,pause()方法暂停播放,stop()方法停止播放。处于暂停暂停时可通过 start()方法恢复播放,但是处于停止状态时则必须先调用prepare()方法使其处于准备状态,再调用start()方法。主要方法:Mediaplayer:构造方法create:        创建一个要播放的多媒体getCurrentPosition:得到当前播放位置getDuration:    得到文件的时间prepare:    准备(同步)pr

4、epareAsync:准备(异步)seekTo:        指定播放的位置(以毫秒为单位)setAudioStreamType:    设置流媒体的类型setDataSource:    设置数据来源setDisplay:        设置用SurfaceHolder来显示多媒体setOnBufferingUpdateListener:    网络流媒体的缓冲监听setOnErrorListener: 

5、;           设置错误信息监听setOnVideoSizeChangedListener:视频尺寸监听setScreenOnWhilePlaying:        设置是否使用SurfaceHolder来显示setVolume:                    设置音量/获取sd卡上的音频文件setDataSo

6、urce(“/sdcard/test.mp3”);/装载资源中的音乐MediaPlayer.create(Activity01.this,R.raw.test);/目前存在问题,不能循环解析出音频文件原因:.android_secure文件夹受保护,无法获取里面的文件信息播放视频相关类:VideoView方法说明:getBufferPercentage:得到缓冲的百分比getCurrentPosition:得到当前播放位置getDuration:得到视频文件的时间resolveAdjustedSize:调整视频显示大小setMediaController:设置播放控制器模式(播放进度条)set

7、OnCompletionListener:当视频文件播放完时触发事件setVideoPath:设置视频源路径setVideoURI:设置视频源地址录音相关类:MediaRecorder方法说明:MediaRecorder:构造方法getMaxAmplitude:得到最大幅度setAudioEncoder:设置音频编码setAudioSource:设置音频源setCamera:设置摄像机setMaxDuration:设置最长录音时间setMaxFileSize:设置文件的最大尺寸setOutputFile:设置输出文件setOutputFormat:设置输出文件格式setPreviewDispl

8、ay:设置预览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

9、 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="and

10、roid.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.RECORD_AUDIO">相机设置相关类:Camera,它是专门用来连接和断开相机服务的类Camera的几个事件:Camera.AutoFocusCallback:    自动调焦功能Camera.ErrorCallback:        错误信息捕捉Camera.Parameters

11、:        相机的属性参数Camera.PictureCallback:    拍照、产生图片时触发Camera.PreviewCallback:    相机预览设置Camera.ShutterCallback:    快门设置Camera.Size:                图片的尺寸Camera类没有构造方法,可通过open()方法来打开相机设备Camera类的

12、方法介绍:autoFocus:        设置自动对焦getParameters:    得到相机参数open:            启动相机服务release:            释放相机服务setParameters:    设置参数setPreviewDisplay:设置预览startPreview:  

13、0; 开始预览stopPreview:        停止预览takePicture:        拍照注:takePicture方法要实现3个回调函数作为它的三个参数:Camera.ShutterCallback(快门),和两个Camera.Picture.Callback(图像数据)。需要许可<uses-permission android:name="android.permission.CAMERA" />   若

14、要将图片存储至sd卡中,则需要sd卡读写许可目前存在问题:只能拍照一次,不能重新回到预览界面闹钟设置相关类:AlarmManager,它是专门用来设定在某个指定的时间去完成指定的事件。AlarmManager提供了访问系统警报的服务,只要在程序中设置了警报服务,AlarmManager就会通过onReceive()方法去执行这些事件,就算系统处于待机状态,同样不会影响运行。可通过 Context.getSystemService(ALARM_SERVICE)方法来获得该服务。方法说明:cancel:    取消AlarmManager服务set:   

15、设置AlarmManager服务setInexactRepeating:设置不精确周期setRepeating:设置精确周期setTimeZone:设置时区注:需创建一个BroadcastReceiver的子类,并覆盖onReceive()方法铃声设置系统自带的铃声都放在/system/medio/audio/文件夹中铃音类型: TYPE_RINGTONE(来电铃音),TYPE_ALARM,TYPE_NOTIFICATION相关类:RingtoneManager方法介绍:getActualDefaultRingtoneUri:取得指定类型的铃声getCursor:返回所有可用铃声的游标getD

16、efaultType:得到指定URI默认的铃声类型getRingtonegetRingtonePosition:得到铃声位置getRingtoneUrigetValidRingtoneUri:得到一个可用铃声的URIisDefault:得到指定的Uri是否为默认的铃声setActualDefaultRingtoneUri:设置默认的铃声获取的Cursor共有4列,列名依次为:_id,title,”content:/media/internal/audio/media”,title_key以设置手机铃音为例:if (isFolder(strRingtongFolder) /如果不存在该文件夹则创

17、建一个                / 打开系统铃声设置                Intent intent = new Intent(                        RingtoneManager.ACTION_R

18、INGTONE_PICKER);                intent.putExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI, true);                / 类型为来电ringtong                intent

19、.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,                        RingtoneManager.TYPE_RINGTONE);                / 设置显示的题目          

20、;      intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "设置来电的铃声");                / 当设置完成之后返回到当前的activity                startActivityForResult(intent, RingtongButton);&

21、#160;           然后复写onActivityResult(int requestCode, int resultCode, Intent data)方法,resultCode就是点击设置dialog的按钮编号,需要判断是否点击了确认按钮if (resultCode != RESULT_OK)             return;           

22、         try                 / 得到我们选择的铃声                Uri pickedUri = data                        .getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);                / 将我们选择的铃声选择成默认           

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论