欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    教学课件第三次课件(媒体播放器).ppt

    • 资源ID:5269276       资源大小:651.50KB        全文页数:24页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    教学课件第三次课件(媒体播放器).ppt

    Lesson3媒体播放器,第二阶段,长沙华瑞IT培训学校,课堂回顾,如何让控件动起来?自定义控件的原理自定义属性的两种方法实现音量控件,长沙华瑞IT培训学校,多媒体简介,多媒体是计算机和视频技术的结合,实际上它是两个媒体:声音和图像音频和视频的播放,我们都会用到MediaPlayer这个类进行播放,长沙华瑞IT培训学校,从源文件中播放,1,在项目的res/raw目录下,放置一个android支持的多媒体文件,如MP3,会在R文件中生成对应的索引2,通过MediaPlayer.create(this,R.id.et_mp3)创建一个文件3,使用start播放,长沙华瑞IT培训学校,核心代码,mediaplayer=MediaPlayer.create(this,R.raw.music02);try mediaplayer.start();catch(IllegalStateException e)e.printStackTrace();注:将muisc02.mp3文件放入res/raw的文件夹中,长沙华瑞IT培训学校,从文件系统中播放,1,实例化一个MediaPlayer2,MediaPlayer.setData方法调用(输入文件所在路径)3,调用MediaPlayer.prepare进行准备4,调用start进行播放,长沙华瑞IT培训学校,核心代码,private void createMusicFromPath(String path)mediaplayer=new MediaPlayer();try mediaplayer.setDataSource(path);mediaplayer.prepare();mediaplayer.start();catch(Exception e)/TODO Auto-generated catch blocke.printStackTrace();,注:将音频文件放入在手机的sdcard,输入路径即可播放,长沙华瑞IT培训学校,播放网络音乐,1,获取音乐链接地址A,通过地址创建Uri,通过 MediaPlayer.create(this,uri)创建,获取player对象B,new出MediaPlayer对象,通过MediaPlayer.setData(webPath)创建player对象,然后调用prepare();2,调用start方法进行播放,长沙华瑞IT培训学校,音乐播放器,长沙华瑞IT培训学校,多媒体状态,长沙华瑞IT培训学校,使用SeekBar实现控制播放位置功能,1,在视图xml中拖入SeekBar控件2,设置seekBar.setMax(mediaPlayer.getDuration()为媒体的最大长度3,实现控件的OnSeekBarChangeListener接口4,实现onProgressChanged(/当进度状态发生变化时候 SeekBar seekBar,int progress,/当前的进度 boolean fromUser)/是否由用户操作导致,public void onProgressChanged(SeekBar arg0,int progress,boolean isFromUser)if(isFromUser)mediaPlayer.seekTo(progress);,长沙华瑞IT培训学校,实现进度条SeekBar自动移动效果,/1,创建一个线程Runnable run=new Runnable()public void run()/TODO Auto-generated method stub/获取当前播放音乐的位置if(mediaPlayer!=null)int current=mediaPlayer.getCurrentPosition();progressBar.setProgress(current);if(mediaPlayer.isPlaying()progressHandler.postDelayed(run,100);/2,创建一个handler用于控制线程Handler progressHandler=new Handler();progressHandler.post(run);/启动线程progressHandler.postDelayed(run,100);/延时启动线程progressHandler.removeCallbacks(run);/删除指定的Runnable对象,使线程对象停止运行。,长沙华瑞IT培训学校,停止,暂停,重播功能实现,A,停止 1,首先判断是否是playing调用player的stop方法2,同时要将还没有执行的线程从handler中移除progressHandler.removeCallbacks(run);3,将进度条的seekbar的进度设置为0B,暂停1,利用一个boolean变量判断是否是pause状态2,判断playing,调用play的pause方法,并且removeCallbacks3,如果是pause状态,则执行start,并且执行progressHandler.post方法C,重播1,mediaPlayer.seekTo(0),2,progressBar.setProgress(0);,长沙华瑞IT培训学校,实现进度条SeekBar缓存条效果,/设置缓存更新事件mediaPlayer.setOnBufferingUpdateListener(new OnBufferingUpdateListener()/实现更新方法public void onBufferingUpdate(MediaPlayer arg0,int arg1)/在每次更新之后,设置缓存条的进度progressBar.setSecondaryProgress(arg1*progressBar.getMax()/100););,长沙华瑞IT培训学校,MediaPlayer的状态,A,停止 1,首先判断是否是playing调用player的stop方法2,同时要将还没有执行的线程从handler中移除progressHandler.removeCallbacks(run);3,将进度条的seekbar的进度设置为0B,暂停1,利用一个boolean变量判断是否是pause状态2,判断playing,调用play的pause方法,并且removeCallbacks3,如果是pause状态,则执行start,并且执行progressHandler.post方法C,重播1,mediaPlayer.seekTo(0),2,progressBar.setProgress(0);,长沙华瑞IT培训学校,核心代码,mediaPlayer.reset();/重置为idle状态mediaPlayer.setDataSource(file.getAbsolutePath();/设置播放的文件mediaPlayer.prepare();/缓冲mediaPlayer.setOnPreparedListener(new MyPreparedListener();/设置缓冲完成监听mediaPlayer.pause();/暂停mediaPlayer.start();/播放音乐mediaPlayer.stop();();/停止mediaPlayer.seekTo(progress);/设置播放进度mediaPlayer.release();/释放关联的资源progressHandler.postDelayed(run,100);/定时调用Runnable对象progressHandler.post(run);/将Runnable对象发送到消息队列中progressHandler.removeCallbacks(run);/将run从消息队列中移除,长沙华瑞IT培训学校,视频播放器,SurfaceView控件,长沙华瑞IT培训学校,SurfaceView控件,SurfaceView可以直接从内存或者DMA等硬件接口取得图像数据,是个非常重要的绘图容器SurfaceHolder用来操纵surface,处理它在Canvas上画的效果和动画,控制表面,大小,像素等,长沙华瑞IT培训学校,核心代码,SurfaceHolder surfaceHolder=surfaceView.getHolder();/surfaceView的控制对象surfaceHolder.setFixedSize(176,144);/设置分辨率surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);/不使用surfaceview自身的缓冲机制,把得到的数据直接输出surfaceHolder.setKeepScreenOn(true);/保持屏幕的亮度/在播放前设置显示画面mediaPlayer.setDisplay(surfaceView.getHolder();,长沙华瑞IT培训学校,VideoView的使用,/获取VideoView对象videoView=(VideoView)this.findViewById(R.id.videoView);/创建播放视频的URIUri uri=Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath()+/video.mp4);/设置URIvideoView.setVideoURI(uri);/uri/设置多媒体控制器videoView.setMediaController(new MediaController(this);videoView.start();,长沙华瑞IT培训学校,SoundPool,android中可以用mediaplayer播放音乐,使用soundpool可以播一些短的反应速度要求高的声音,比如点击时候的音效,/1,创建SoundPoolsoundPool=new SoundPool(3,/同时播放的流的最大数量 AudioManager.STREAM_MUSIC,/流的类型,一般为STREAM_MUSIC0);/采样率转化质量,当前无效果,使用0作为默认值/2,载入音效int id=load(Context context,int resId,int priority)/从APK资源载入/3,通过id播放音效soundPool.play(soundMap.get(id),/音频的id100,/左边声音大小100,/右边声音大小1,/优先级别0,/循环次数1);/速率,1为正常速度,长沙华瑞IT培训学校,本章总结,如何使用MediaPlayer播放MP3多媒体有哪些状态使用seekBar如何使用SurfaceView播放视频?,长沙华瑞IT培训学校,作业,完成音乐播放器和视频播放器,知识就是力量,Thank You!,

    注意事项

    本文(教学课件第三次课件(媒体播放器).ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开