温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
基于
Android
多媒体
播放
课程设计
报告
基于Android的多媒体播放器课程设计报告
(2023-01-02 22:46:52)
转载▼
标签:
android
多媒体播放器
嵌入式
课程设计报告
it
分类: 我的编程之路
附源码。希望此文能帮助到一些新手。也希望更多的人在网络上分享自己的学习成果。互相交流,扣扣:70876398
完整版: ://vdisk.weibo /s/z45_CkcauTkNJ
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_2023文件;
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 软件结构与布局
设计布局框架分为三个局部:
图形菜单主界面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软件在虚拟机上调试及分析
3.1.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));
// i.setBackgroundResource(R.drawable.e);
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;}
3.1.2音乐播放
播放:
MyMediaPlayer.setDataSource(MusicList.get(Mediasp));
MyMediaPlayer.prepare();MyMediaPlayer.start(); //播放
MyMediaPlayer.pause();//暂停
MyMediaPlayer.pause();MyMediaPlayer.seekTo(0);//停止(为了能使点击播放按钮能在此播放,这里不调用MyMediaPlayer.stop()方法)
3.1.3视频播放器
MyVideoView.setVideoURI(Uri.parse(VideoList.get(Mediasp)));//设置视频源
MyVideoView.start();//播放
MyMediaPlayer.pause();//暂停
MyVideoView.pause();MyVideoView.seekTo(0);//停止
3.1.4录音
//播放
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()){
de