欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2023年基于Android的多媒体播放器课程设计报告.pdf

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

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

    2023年基于Android的多媒体播放器课程设计报告.pdf

    /*1、开发环境 Android 是一种基于 Linux V2.6 内核的综合操作环境。最初,Android 的部署目标是移动电话领域,包括智能电话和更廉价的翻盖手机。Android 全面的计算服务和丰富的功能支持完全有能力扩展到移动电话市场以外。Android 也可以用于其他的平台和应用程序。下面搭建Android 的开发环境。1.1 JDK 安装 1、首先把所有要安装文件放在 Android_software文件夹中;2、安装 jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008文件;3、配置环境变量:(1)新建一个用户变量,变量名是 JAVA_HOME,变量值为:JDK的安装路径;(2)查看系统变量 Path,如果有显示路径加bin,没有则加%JAVA_HOME%bin;(3)查看 class,如果有显示路径加lib,没有则加%JAVA_HOME%lib;4、解压 eclipse-jee-juno-win32文件,运行 eclipse.exe,在 workspace launcher窗口中,设置项目保存路径;1.2 Android SDK安装以及系统设置 在 eclipse菜单栏的 window 子菜单下点击 perferences,选择 android,在右边的对话框中选择按钮 Browse,找到 SDK源文件,自动出来 SDK包含的 Android 版本,点击 Apply 按钮,完成安装;在用户变量里面,新建一个 JAVA_SDK 变量,值设置的值为SDK 安装的路径;在系统变量里面加入%JAVA_HOME%bin,%JAVA_SDK%tools,%JAVA_SDK%platform-tools。图1.设置环境变量 1.3 Eclipse 安装以及 ADT 工具的安装 ADT插件的安装:(1)解压 ADT文件;(2)打开 eclipse菜单上 help 子目录下的 Install new software;(3)在弹出的 Install窗口中点击 Add,在弹出的窗口中,name:ADT Location:点击 location按钮找到解压的 ADT源文件;(4)安装成功后,重新启动 eclipse;1.4 模拟器的配置 1、运行 eclipse,在 window 子菜单下点击 AVD Manager开始配置模拟器;2、在 Android Virtual Device Manager 下点击 NEW,开始创建模拟器;3、在 create new Android Virtual Manager窗口中,输入模拟器的名称、版本、存储卡大小,手机屏幕的分辨率,输入完后,点击 Create AVD,创建完成;4、在 Android Virtual Device Manager窗口中,选中模拟器后,点击 start,启 动模拟器。图2 启动模拟器 2、功能说明 2.1 软件结构与布局 设计布局框架分为三个部分:【最新资料,WORD 文档,可编辑修改】图形菜单主界面 menu_main.xml,对应类文件MediaPlay.java 媒体功能实现界面menu_main.xml menuForMain.java 媒体列表界面 mylist.xml以及listview.xml样式布局listtype.xml MediaList.java 逻辑架构如下:2.2 图像菜单功能 主要控件及功能 Gallery MyGallery:用于显示图形菜单,双击图片进入相应的功能界面 TextView menuTv:用于显示菜单选项信息 使用说明:1、双击 MyGallery中装载的一组图片(屏幕底部)中的其中任何一张图片进入相应的功能面 板 2、通过在 MyGallery滑动来达到更改菜单选项的功能 3、menuTv 会实时显示当前选中的菜单项的详细说明 2.3 音频文件播放 主要控件及功能 ImageButton ibtnPlayAndPuase 开始/暂停 ImageButton ibtnStop 停止 ImageButton ibtnLast,上一曲 ImageButton ibtnNext;下一曲 SeekBar MySeekBar;进度条 TextView MytvScreen;信息显示 TextView tbTimer ;用于显示当前播放时间进度 使用说明:1、当进入音乐播放界面时,后台读取保存在本地的音乐列表文件,若不存在列表文件则自动扫描/sdcard/Music/目录下音频文件 2、播放和暂停键复用,当第一次点击播放按钮,再次点击则为暂停,再次点击则继续之前的位置播放;停止按钮则是将当前播放进度设置为0并暂停播放;上一曲、下一曲按钮则实现歌曲切换功能 3、进度条和 tbTimer控件则实时显示当前播放音乐的时间进度,MytvScreen会显示当前正在播放歌曲的详细信息 2.4 视频文件播放 主要控件及功能 ImageButton ibtnPlayAndPuase 开始/暂停 ImageButton ibtnStop 停止 ImageButton ibtnLast,上一曲 ImageButton ibtnNext;下一曲 SeekBar MySeekBar;进度条 VideoView MyVideoView;用于播放视频的组件 使用说明:1、当进入视频播放界面时,后台读取保存在本地的视频列表文件,若不存在列表文件则自动扫描/sdcard/Video/目录下音频文件 2、播放、暂停、上一部、下一步、停止以及进度条、时间显示条皆复用音乐界面的按钮,功能也与其一致,这里不赘述。2.5 录音 和应用程序下面搭建的开发环境安装首先把所有要安装文件放在文件夹中安装文件配置环境变量新建一个用户变量变行在窗口中设置项目保存路径安装以系统设置在菜单栏的子菜单下点击选择在右边的对话框中选择按钮找到源文件自图设置环境变量安装以工具的安装插件的安装解压文件打开菜单上子目录下的在弹出的窗口中点击在弹出的窗口中点主要控件及功能 ImageButton ibtnPlayAndPuase 开始/暂停 ImageButton ibtnStop 停止 ImageButton ibtnLast,上一曲 ImageButton ibtnNext;下一曲 SeekBar MySeekBar;进度条 Button btnRecording;录音开关 使用说明:1、当进入录音界面时,后台读取保存在本地的视频列表文件,若不存在列表文件则自动扫描/sdcard/MyRecords/目录下录音文件 2、播放、暂停、上一部、下一步、停止以及进度条、时间显示条皆复用音乐界面的按钮,功能也与其一致,这里不赘述。3、点击开始录音按钮,则按钮显示为“录音中.”,此时播放等按钮无法使用,进度条中间会显示当前的录音时间。在次点击此按钮则停止录音。此时可点击播放按钮试听刚才的录音。4、以上所有操作在主显示区域都会有文字描述 3、软件设计与调试 3.1 软件在虚拟机上调试及分析 核心代码:/图片装载 int MenuImages=R.drawable.menu4,R.drawable.menu1,R.drawable.menu2,R.drawable.menu3,R.drawable.menu5;MyGallery.setAdapter(new ImageAdapter(this);public class ImageAdapter extends BaseAdapter Override public View getView(int arg0,View arg1,ViewGroup arg2)/TODO Auto-generated method stub ImageView i=new ImageView(mContext);i.setImageResource(MenuImages arg0);i.setAdjustViewBounds(true);i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);return i;/页面跳转 Override public boolean onDoubleTap(MotionEvent arg0)/TODO Auto-generated method stub Intent MyIntent=new Intent();MyIntent.setClass(menuForMain.this,MediaPlay.class);Bundle MyBundle=new Bundle();MyBundle.putInt(name,MyGallery.getSelectedItemPosition();MyIntent.putExtras(MyBundle);startActivity(MyIntent);return false;和应用程序下面搭建的开发环境安装首先把所有要安装文件放在文件夹中安装文件配置环境变量新建一个用户变量变行在窗口中设置项目保存路径安装以系统设置在菜单栏的子菜单下点击选择在右边的对话框中选择按钮找到源文件自图设置环境变量安装以工具的安装插件的安装解压文件打开菜单上子目录下的在弹出的窗口中点击在弹出的窗口中点播放:MyMediaPlayer.setDataSource(MusicList.get(Mediasp);MyMediaPlayer.prepare();MyMediaPlayer.start();/播放 MyMediaPlayer.pause();/暂停 MyMediaPlayer.pause();MyMediaPlayer.seekTo(0);/停止(为了能使点击播放按钮能在此播放,这里不调用 MyMediaPlayer.stop()方法)MyVideoView.setVideoURI(Uri.parse(VideoList.get(Mediasp);/设置视频源 MyVideoView.start();/播放 MyMediaPlayer.pause();/暂停 MyVideoView.pause();MyVideoView.seekTo(0);/停止/播放 new DateFormat();file=new File(/sdcard/MyRecords/+bear+DateFormat.format(yyyyMMdd_hhmmss,Calendar.getInstance(Locale.CHINA)+.amr);File destDir=new File(/sdcard/MyRecords/);if(!destDir.exists()destDir.mkdirs();MyMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);MyMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);MyMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);file.createNewFile();MyMediaRecorder.setOutputFile(file.getAbsolutePath();MyMediaRecorder.prepare();MyMediaRecorder.start();/停止录音 MyMediaRecorder.reset();须加一个权限开发,在 AndroidManifest.xml:/1、滑动屏幕改变媒体音量/设置音量 MyAudioManager=(AudioManager)this.getSystemService(Context.AUDIO_SERVICE);/2、添加屏幕触发事件 MyGestureDetector=new GestureDetector(this,new MyGestureDetectorListener();MytvScreen.setOnTouchListener(new OnTouchListener()Override public boolean onTouch(View arg0,MotionEvent arg1)return MyGestureDetector.onTouchEvent(arg1););Private class MyGestureDetectorListener implements OnDoubleTapListener Override/滚动,触摸屏按下后移动 public boolean onScroll(MotionEvent arg0,MotionEvent arg1,float arg2,float arg3)和应用程序下面搭建的开发环境安装首先把所有要安装文件放在文件夹中安装文件配置环境变量新建一个用户变量变行在窗口中设置项目保存路径安装以系统设置在菜单栏的子菜单下点击选择在右边的对话框中选择按钮找到源文件自图设置环境变量安装以工具的安装插件的安装解压文件打开菜单上子目录下的在弹出的窗口中点击在弹出的窗口中点if(AudioManagerFlag=0)AudioManagerY=arg0.getY();AudioManagerX=arg0.getX();int IsSound=0;if(AudioManagerFlag5)AudioManagerFlag=0;if(AudioManagerY-arg1.getY()1)|(arg1.getY()-AudioManagerYarg1.getX()/左滑动调小音量 MyAudioManager.adjustStreamV olume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,AudioManager.FX_FOCUS_NA VIGATION_UP);else/右滑动调大音量 MyAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,AudioManager.FX_FOCUS_NA VIGATION_UP);else AudioManagerFlag+;return false;3、长按调整至列表界面 Override/长按,触摸屏按下后既不抬起也不移动,过一段时间后触发 public void onLongPress(MotionEvent arg0)AudioManagerFlag=0;if(MyVideoView.isPlaying()MyVideoView.pause();ibtnPlayAndPuase.setTag(play);Intent i=new Intent();i.setClass(MediaPlay.this,MediaList.class);Bundle data=new Bundle();/调出菜单,第一个参数是列表的类型,第二个参数是当前歌曲在播放离别中的位置 data.putInt(sp,Mediasp);data.putInt(Type,MyRadioGroup.getCheckedRadioButtonId();i.putExtras(data);startActivityForResult(i,MyRadioGroup.getCheckedRadioButtonId();3、列表显示/接收来自功能面板的列表请求 Bundle MyBundle=this.getIntent().getExtras();try int rbtnId=0;rbtnId=MyBundle.getInt(Type);/int Mediasp=MyBundle.getInt(sp);switch(rbtnId)case R.id.rbtnMusic:/MyMediaList=sp.getMusicList();/createList(MyMediaList,0);resultCode=1;getFiles(Filepath+kugou/,.mp3,MyMediaList,true);Filepath+=Music/;和应用程序下面搭建的开发环境安装首先把所有要安装文件放在文件夹中安装文件配置环境变量新建一个用户变量变行在窗口中设置项目保存路径安装以系统设置在菜单栏的子菜单下点击选择在右边的对话框中选择按钮找到源文件自图设置环境变量安装以工具的安装插件的安装解压文件打开菜单上子目录下的在弹出的窗口中点击在弹出的窗口中点getFiles(Filepath,.mp3,MyMediaList,false);sp.setMusicList(MyMediaList);break;case R.id.rbtnVideo:/MyMediaList=sp.getVideoList();/createList(MyMediaList,1);resultCode=2;Filepath+=Videos;getFiles(Filepath,.mp4,MyMediaList,false);getFiles(Filepath,.3gp,MyMediaList,false);sp.setVideoList(MyMediaList);break;case R.id.rbtnRecord:/MyMediaList=sp.getRecordList();/createList(MyMediaList,2);resultCode=3;Filepath+=MyRecords;getFiles(Filepath,.amr,MyMediaList,false);sp.setRecordList(MyMediaList);break;default:break;/获取列表 private void getFiles(String dirpath,String fileType,ArrayList List,boolean IsIterative)/List.clear();File files=new File(dirpath).listFiles();File f;if(files=null)return;for (int i=0;i files.length;i+)f=filesi;if(!f.canRead()continue;if(f.isFile()if(f.getName().contains(fileType)/判断扩展名 List.add(f.getPath();else if(f.isDirectory()&IsIterative=true)getFiles(f.getPath(),fileType,List,IsIterative);/listview 长按监听事件 mylist.setOnItemLongClickListener(new OnItemLongClickListener()SuppressLint(ShowToast)Override public boolean onItemLongClick(AdapterView arg0,View arg1,int arg2,long arg3)和应用程序下面搭建的开发环境安装首先把所有要安装文件放在文件夹中安装文件配置环境变量新建一个用户变量变行在窗口中设置项目保存路径安装以系统设置在菜单栏的子菜单下点击选择在右边的对话框中选择按钮找到源文件自图设置环境变量安装以工具的安装插件的安装解压文件打开菜单上子目录下的在弹出的窗口中点击在弹出的窗口中点/TODO Auto-generated method stub setTitle(你点击了第+arg2+项);MediaList.this.setResult(resultCode);sp.setMediasp(arg2);/通过全局变量传递参数 finish();return false;);3.2 软件在手机上的测试 4、设计总结 经过一个多星期的开发,使我从对android 从一无所知到现在初入android 门槛,这是一个艰辛的过程。但还好之前对 C#有一定的功底,使得 java 语言中关于面向对象的部分都能轻易的理解。只是欠于了解android 开发独有的机制以及对 eclipce这个软件操作环境的熟识上。这次课设的要求是做出一个音乐播放、视频播放、录音三个功能于一体的手机软件出来。功能算是比较简单。但在课设的第一步,控件布局上就屡屡出现问题,最好花了大量的时间才调整好布局,也渐渐找到了elipce关于控件布局操作的规律。当我终于完成了软件的外观布局后,更多的问题接踵而来。比如按钮事件的监听,这里面涉及 android 的类的继承等,曾一度让我的逻辑出现混沌。后来通过对比C#事件触发机制以及查阅了网络资料才理解了这个东西。关于功能的编程实现上,基本上比较轻松。除了满足课设基本要求外,我还增加了音量调节、进度条、媒体列表、文件信息显示等功能。但是实现这些功能虽然有完善的逻辑思想,但是比较对 java 语法还不甚了解,以至于出现逻辑上没错误,语法出现错误的现象。不过这些问题在之后随着对网络资料的大量查阅一个接着一个解决了。到了课设的最后一天,我的软件基本实现了自己所附加的功能,但通过这次课设,使我深刻的认识到,课设虽然完结,但我的 android开发并不会止步。在以后的日子里我还会继续做下去,比如加上歌词同步显示的功能、网络自动搜索歌词的功能。我想,我对 android软件开发已经拥有了浓厚的兴趣。这里也确实要感谢同学以及网络上那些无私奉献的人。和应用程序下面搭建的开发环境安装首先把所有要安装文件放在文件夹中安装文件配置环境变量新建一个用户变量变行在窗口中设置项目保存路径安装以系统设置在菜单栏的子菜单下点击选择在右边的对话框中选择按钮找到源文件自图设置环境变量安装以工具的安装插件的安装解压文件打开菜单上子目录下的在弹出的窗口中点击在弹出的窗口中点

    注意事项

    本文(2023年基于Android的多媒体播放器课程设计报告.pdf)为本站会员(c****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开