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

合集下载

基于Android的视频播放器的设计与实现

基于Android的视频播放器的设计与实现

基于Android的视频播放器的设计与实现基于Android的视频播放器的设计与实现中文摘要如今,随着基于Android操作系统的智能手机的广泛应用,视频播放器已成为智能手机的一个必不可少的程序,广大用户迫切需要一个贴近用户、方便用户、个性化的视频播放器。

因此,设计一个基于android手机的多功能播放器,具有重要的实际意义。

本次毕业设计主要使用JDK + Eclipse + Android-SDK-Windows工具进行开发,使用的编程语言是Java语言。

该程序主要由4个不同Activity来实现,每个Activity实现相应的功能模块,能够有效满足Android手机用户在视频播放中的常见需求。

本论文详细介绍了播放器程序的设计思路、设计方案、系统结构和项目工程结构,对系统的可行性与需求性进行了详细的分析,阐述了系统各个模块功能的设计与实现。

对程序主要的Activity都进行了详细的介绍和分析,包括对其使用的布局文件的具体介绍,以及各个控件的作用。

在最后进行了程序测试,对每一个实现的模块功能都做了测试,并且记录了大量截图用来展示测试结果,以观察程序应有的功能是否正常运行,以及发现程序中可能存在的问题。

所开发的程序界面比较友好,操作相对容易,达到设计要求。

关键词:安卓;视频播放;Activity;MediaplayerThe Design and Implementation of Video Player Based on AndroidABSTRACTNow, with the wide application of smart phone based on the Android operating system, video player has become the essential application of smart phone. Most of consumers urgently require a personalized video player which is close to user and facilitate user. Therefore, the design of a multifunctional player based on android mobile phones has an important practical significance.The project design is developed by using JDK, Eclipse, and Android-SDK-Windows tools. The programming language is Java. The program consists of four different Activities and each Activity achieves the corresponding functional modules which can effectively satisfy the common requirements for playing video on Android mobile phones.This paper introduced the design ideas, design scheme, system architecture and project engineering structures of video player. The feasibility and requirements of system were analyzed in detail. The system function and each module were explained. The main Activity of the program are described and analyzed in detail including the using layout file, as well as the role of each control. Finally, I made the test for the program including the functions of each implemented modules. In order to observe whether the program should function properly and find the problems that may exist in the program, many screenshots were saved to demonstrate the test results. The developed program has a friendly interface and can be operated relatively easy, which has achieved the design requirement.KEY WORDS: Android; Video Play; Activity; Mediaplayer目录中文摘要 ...................................................................... ABSTRACT ...................................................................... 目录 (I)第一章绪论 01.1课题的来源及意义 01.2 ANDROID发展现状及前景 01.3项目的主要工作和解决的问题 (1)1.4系统设计的目标及基本思路 (2)1.5论文组织结构 (2)第二章 ANDROID视频播放器相关技术介绍 (3)2.1 ANDROID介绍 (3)2.2 ANDROID开发平台及相关技术 (4)2.2.1 ANDROID-WINDOWS开发环境 (4)2.2.2 MEDIAPLAYER视频技术 (5)2.2.3 SURFACE、SURFACEVIEW、SURFACEHOLDER三者之间的关系 (8)第三章系统分析及系统结构设计与实现 (10)3.1系统分析 (10)3.1.1系统可行性分析 (10)3.1.2 系统需求分析 (10)3.2系统结构设计 (11)第四章测试 (16)4.1测试环境和条件 (16)4.2测试 (16)4.3测试结果分析 (25)结论 (27)参考文献 (28)附录 (30)第一章绪论1.1课题的来源及意义在这个信息化的时代,IT业已经成为世界发展的主流,我们对信息技术的依赖远远超过了对我们自己的依赖,计算机和手机已经成为我们日常生活中不可缺少的获得信息的渠道。

基于Android的多媒体播放系统设计

基于Android的多媒体播放系统设计

上海电力学院本科毕业设计(论文)题目:基于安卓平台的音乐播放器设计院系:计算机与信息工程学院专业年级:电子科学与技术学生姓名:吴呈呈学号:20082660指导教师:金一鸣2012年06月09日基于Android的多媒体播放系统设计摘要随着城市发展的速度不断变快,人们的生活节奏也随之加快。

在现如今这样一个生活压力倍增的社会下,手机的多功能化成为一种趋势。

在这样一个社会背景下,Android手机应运而生。

Android是基于Java并运行在Linux内核上的操作系统,这个操作系统具有强大的开发环境,是现下颇受青睐的手机操作系统。

本论文是基于Android系统对音乐播放器的设计,实现了集播放、暂停、停止、上一首、下一首、音量调节为一体的多功能音乐播放系统。

文章首先介绍了Android系统的背景及优特点,继而对Android的架构进行了分析并且详细介绍了Android系统开发的语言和一些关键的组件。

对于本项目的开发,基于从上到下原则,在对项目需求作了全面的分析后,逐步完成每一模块程序的编写。

在论文的最后,展示了本设计的成果并分析了在项目调试中所遇见的各种问题及解决方法。

关键字:Android特点与架构,Android核心技术,音乐播放器DESIGN AND IMPLEMENTATION OF MUSIC PLA YERBASED ON ANDROIDABSTRACTDevelopment of modern city become more and more fast and nerves, people’s pace of life also will be accelerated. Multi-function mobile phone becomes a trend when people feel such a big social pressure. Android phone came into people’s notice in such a social back ground. Android is a system which written in Java and layout on Linux core. This popular phone system has a powerful operation environment.This paper introduce a design of music player which based on Android system, trust this music player achieved the function of play, pause, stop, previous, next, volume adjustment. At first, this paper introduce the background, advantage and specification of Android system. Then, this paper analysis the structure of Android system and also introduce the operation language and some key parts of Android system in detail. According to the design principle, from top to bottom, after confirmed the project demands all around, followed by the written of the program code for every module. At the end of the paper show the result of the design and analysis a variety of problem and related solution which was meted during the project was tested.Key words: Android Characteristics and Structure, Android Core Technology, Music Player目录1引言 (1)1.1项目研究背景 (1)1.2研究目的及意义 (2)1.3论文主要内容及设计 (3)1.3.1论文主要内容 (3)1.3.2项目的设计方法 (4)2Android系统特点与架构 (4)2.1Android系统 (5)2.2Android平台的特点 (5)2.2.1Android的优点 (5)2.2.2Android的特点 (6)2.3Android的架构分析 (7)2.3.1Android应用程序框架 (8)2.3.2类库 (11)2.3.3Android运行时的组件 (12)3Android系统开发 (12)3.1Android应用开发语言 (13)3.2Android应用程序结构 (13)3.2.1Android中的API (13)3.2.2Android应用程序结构分析 (16)4音乐播放器设计 (18)4.1项目介绍 (18)4.1.1播放器的基本控制需求 (18)4.1.2项目流程 (19)4.1.3UI界面设计 (20)4.1.4项目程序结构 (21)4.1.5项目Manifest.xml文件 (22)4.2创建项目及具体结构分析 (25)4.2.1项目的创建 (25)4.2.2界面设置 (25)4.2.3结构分析 (26)4.3 设计成果及分析 (26)4.3.1 设计成果 (27)4.3.2问题及分析 (29)6结论 (31)谢词 (32)参考文献 (33)1引言Android一词,原意指机器人。

基于Android的音乐播放器的系统设计的研究报告

基于Android的音乐播放器的系统设计的研究报告

基于Android的音乐播放器的系统设计的研究报告本文基于Android平台开发了一款音乐播放器,主要实现了歌曲的播放、暂停、切换、调节音量等基本功能。

本文主要介绍了音乐播放器的系统设计,包括面向对象设计、软件体系结构设计及界面设计等。

一、面向对象设计面向对象设计是一种软件设计方法,通过将对象的属性和行为打包在一起,以便更好地管理和重复使用。

本系统的面向对象设计主要包括三个核心类: MediaPlayManager(媒体播放管理器)、 Music(音乐)和 PlayControl(播放控制器)。

MediaPlayManager类是整个系统的核心。

它负责管理音频播放相关的所有操作,如音频资源的获取、播放控制、进度更新、音量调节等。

同时,它还可以屏蔽底层的细节实现,以便更好地隔离系统的其他组成部分。

Music类是储存音频信息的基本单元,存储了音频文件的基本信息,如文件路径、歌曲名、歌手、专辑等信息。

Music类是可重用的,可以被图形用户界面和系统其他组件调用。

PlayControl类是包含系统中所有的用户交互控件,通过监听用户输入来触发音频播放的开始、暂停、停止、快进、快退等操作。

PlayControl类还包含了音量控制和进度条控制,以便更好地处理用户对音频的操作。

二、软件体系结构设计在软件体系结构设计方面,本系统采用面向服务的体系结构设计方法。

本系统包含了多个服务,分别负责从不同的数据源获取数据、音频处理、媒体播放、UI交互等工作。

这些服务各自独立地工作,通过接口来协调彼此之间的工作,以便实现整个系统的功能。

其中最重要的服务是MediaPlayService媒体播放服务,负责整个系统的媒体播放工作,包括MP3音频格式、网络音频、在线音频等媒体类型的播放工作。

另外,本系统还采用了MVVM架构模式,将业务逻辑和视图分开,使得业务逻辑可以单独测试,且可以更加方便的修改和升级。

MVVM模式可以有效地解耦,在注重变化和可维护性方面得到迅速的发展。

基于Android的多媒体系统设计与实现的开题报告

基于Android的多媒体系统设计与实现的开题报告

基于Android的多媒体系统设计与实现的开题报告一、选题依据及研究背景随着移动互联网和智能手机的普及,人们越来越喜欢在手机上观看视频、听音乐等多媒体娱乐活动。

因此,手机上的多媒体系统越来越重要,它们必须提供高质量的音频和视频播放能力。

Android系统是目前最流行的移动操作系统之一,因此,研究Android多媒体系统设计及其实现是非常有意义的。

目前,市面上已经有很多Android多媒体播放器,但它们的功能和性能各有不同。

在这种情况下,研究如何设计和实现一个高效、方便、易用的多媒体播放器非常重要。

二、研究目的及意义本课题旨在设计和实现一种高性能、易用的多媒体系统,以满足人们在移动设备上观看视频、听音乐等多媒体内容的需求。

具体目的包括:1. 研究现有的Android多媒体播放器的优缺点,提出改进方案,从而设计出更加高效、方便、易用的多媒体播放器。

2. 探索Android多媒体系统的基本架构,深入研究其音频和视频播放机制,并提出改进方案。

3. 研究多媒体系统的性能优化技术,提高多媒体系统的响应速度和稳定性,提高用户体验。

研究成果将具有以下意义:1. 提供一种高质量、高性能的多媒体播放器,可以满足人们在移动设备上观看视频和听音乐等多媒体内容的需求。

2. 提高Android多媒体系统的稳定性和响应速度,提高用户体验。

3. 为Android开发者提供一个参考或蓝本,可以根据其进行二次开发。

三、研究内容及方法研究内容1. Android多媒体系统的基本原理及其架构。

2. Android多媒体系统中音频和视频播放的基本机制。

3. 改进Android多媒体系统的方案设计,优化多媒体系统性能。

研究方法1. 文献调研:对Android多媒体系统的相关文献进行调研,归纳整理其基本机制和相关技术。

2. 软件设计:基于Android平台,使用Java语言设计并实现一款多媒体播放器,用于验证改进方案的有效性和可行性。

3. 性能测试:通过在不同设备和环境中进行测试,验证改进方案的性能优化效果。

Android多媒体播放器设计任务书

Android多媒体播放器设计任务书

Android多媒体播放器设计任务书第一篇:Android多媒体播放器设计任务书毕业设计(论文)任务书(指导教师填写)题目:Android多媒体播放器——本地视频研究目的采用Android的开发工具与技术完成Android 多媒体播放器——本地视频模块的开发与设计,熟悉和掌握Android开发的方法与技术,撰写并按期提交毕业论文(打印)和项目设计的软件(光盘)。

研究内容1功能要求(1)从手机sdcard搜索存放的视频(2)建立SQLite数据库进行先关操作(3)对整个播放进行优化2数据管理需求:(1)全部列表:视频路径、视频名(2)最近播放列表:视频路径、视频名(3)收藏列表:视频路径、视频名(注:以上表单仅供参考,学生可以根据实际情况增删表单以及字段信息)毕业论文(正文)基本框架系统开发工具与技术系统总体规划与设计界面设计与功能模块的程序设计系统功能测试进度安排第5周:学生提交开题报告,指导教师修改并回复学生,汇总上报。

第 5周-第12周:完成项目总体设计, 译文(3000汉字以上), 软件设计.第13周-第14周:学生在校完成论文撰写,提交指导教师审稿、定稿后打印,按指定要求装订成册.刻录光盘,准备答辩。

主要参考资料[1] 何玉洁.数据库原理与应用教程[M].北京:机械工业出版社,2005[2] 孙卫琴,李洪成.T omcat与Java Web开发技术详解[M],北京:电子工业出版社,2004[3] 唐友国,JSP网站开发详解[M],北京:电子工业出版社,2008[4] 刘晓慧,江雷.基于MVC模式设计与实现重点项目管理信息系统[J].计算机工程,2010[5] Vivek Chopra Beginning Java Server Pages[M].Wrox.2006[6] Bergsten.,H.Java server Pages, Third Edition[M],O'Reilly Media,Inc,2004指导教师:李欣联系电话:***E-Mail:***********************2011年11月12日第二篇:多媒体播放器的使用方法多媒体播放器,也叫RMVB播放器,一种可以在电视上播放网络视频文件的设备。

基于Android平台的音乐播放器设计报告v

基于Android平台的音乐播放器设计报告v

题目:基于Android平台的音乐播放器设计报告学生:何双双学号:指导教师:***目录第一章引言-------------------------------------------------------- 31.2 编写目的------------------------------------------------------- 4 第二章系统需求分析------------------------------------------------- 42.1 功能需求(用例图分析)----------------------------------------- 4 2.1.1 播放器的用例图---------------------------------------------- 5 2.1.2用例分析---------------------------------------------------- 5 第三章概要设计----------------------------------------------------- 63.1软件播放流程图------------------------------------------------- 6 3.2 软件类图------------------------------------------------------- 7 第四章详细设计----------------------------------------------------- 84.1MusicInfoController类------------------------------------------ 8 4.1.1.类启动------------------------------------------------------ 8 4.1.2.服务绑定activity ------------------------------------------- 9 4.2MusicInfoController类------------------------------------------ 9 4.2.1获得播放文件列表-------------------------------------------- 9 4.3MusicList类--------------------------------------------------- 10 4.3.1播放------------------------------------------------------- 10 4.3.2暂停/播放-------------------------------------------------- 10 4.3.3停止------------------------------------------------------- 11 4.4MusicPlayerApp类---------------------------------------------- 11 4.4.1单例模式--------------------------------------------------- 11 第五章系统实现---------------------------------------------------- 125.1软件部署------------------------------------------------------ 12 5.2启动软件------------------------------------------------------ 12 5.3播放界面------------------------------------------------------ 13 第六章结论------------------------------------------------------- 14 附录一:代码------------------------------------------------------ 151.获取全部音频文件代码-------------------------------------------- 152.绑定歌曲列表到listview控件------------------------------------- 154.音乐播放服务---------------------------------------------------- 17第一章引言1.1 项目背景当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Windows mobile,symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。

多媒体播放器课程设计报告

多媒体播放器课程设计报告

多媒体播放器课程设计报告1. 引言本文档是关于多媒体播放器课程设计的报告,旨在介绍多媒体播放器课程设计的目标、背景、需求、设计思路以及实现方法等内容。

通过本课程设计,旨在帮助学生深入了解多媒体播放器的原理和实践操作,提高学生的多媒体处理能力和编程能力。

2. 背景多媒体播放器作为一种常见的媒体播放工具,已经被广泛应用于各个领域。

在音乐、视频、图像等多媒体呈现中,多媒体播放器扮演着重要的角色。

因此,多媒体播放器的设计和开发具有重要的学术和商业价值。

3. 目标本课程设计的目标是通过设计和实现一个多媒体播放器,让学生了解多媒体播放器的基本原理和实现方法。

具体目标包括:•理解多媒体播放器的工作原理;•掌握多媒体播放器的功能和使用方法;•学会使用编程语言实现多媒体播放器;•提升学生的多媒体处理能力和编程能力。

4. 需求分析基于以上目标,我们对多媒体播放器的需求进行了详细的分析。

主要需求包括以下几点:•支持常见的音乐、视频和图像格式;•具有播放、暂停、停止、快进、倒带、调整音量等功能;•提供播放列表功能,可以添加、删除和管理媒体文件;•支持媒体文件的播放进度显示和拖动调整;•提供媒体文件的基本信息展示,如时长、码率、分辨率等;•具有用户友好的界面和操作方式。

5. 设计思路基于以上需求,我们设计并实现了一个基于图形界面的多媒体播放器。

设计思路如下:•使用面向对象的编程语言,如Python等,进行开发;•使用现有的多媒体处理库,如FFmpeg,进行音视频数据的解码和处理;•使用图形界面库,如Qt,进行用户界面的设计和实现;•设计数据模型,包括播放列表、媒体文件等;•实现播放器核心功能,包括播放、暂停、停止、快进、倒带、音量调整等;•设计并实现用户界面,包括媒体文件列表、播放控制等;•进行功能测试和性能测试,确保多媒体播放器的稳定性和可靠性。

6. 实现方法在实现多媒体播放器的过程中,我们采用了以下方法:6.1 使用FFmpeg进行媒体处理FFmpeg是一个开源的多媒体处理库,能够处理各种音视频格式的数据。

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

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

【最新资料,WORD文档,可编辑修改】/*1、开发环境Android 是一种基于Linux®内核的综合操作环境。

最初,Android 的部署目标是移动电话领域,包括智能电话和更廉价的翻盖手机。

Android 全面的计算服务和丰富的功能支持完全有能力扩展到移动电话市场以外。

Android 也可以用于其他的平台和应用程序。

下面搭建Android的开发环境。

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文件,运行,在workspace launcher窗口中,设置项目保存路径;Android SDK安装以及系统设置在eclipse菜单栏的window子菜单下点击perferences,选择android,在右边的对话框中选择按钮Browse,找到SDK源文件,自动出来SDK包含的Android版本,点击Apply 按钮,完成安装;在用户变量里面,新建一个JA V A_SDK变量,值设置的值为SDK安装的路径;在系统变量里面加入%JA V A_HOME%\bin,%JA V A_SDK%\tools,%JA V A_SDK%\platform-tools。

图1.设置环境变量Eclipse安装以及ADT工具的安装ADT插件的安装:(1)解压ADT文件;(2)打开eclipse菜单上help 子目录下的Install new software;(3)在弹出的Install窗口中点击Add,在弹出的窗口中,name:ADTLocation:点击location按钮找到解压的ADT源文件;(4)安装成功后,重新启动eclipse;模拟器的配置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,启动模拟器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【最新资料,WORD文档,可编辑修改】/*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按钮,完成安装;在用户变量里面,新建一个JA V A_SDK变量,值设置的值为SDK安装的路径;在系统变量里面加入%JA V A_HOME%\bin,%JA V A_SDK%\tools,%JA V A_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软件在虚拟机上调试及分析核心代码://图片装载i nt 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{@Overridepublic View getView(int arg0, View arg1, ViewGroup arg2) {// TODO Auto-generated method stubImageView i = new ImageView(mContext);i.setImageResource(MenuImages[arg0]);i.setAdjustViewBounds(true);i.setLayoutParams(new youtParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));return i;}}//页面跳转@Overridepublic boolean onDoubleTap(MotionEvent arg0) {// TODO Auto-generated method stubIntent 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=newFile("/sdcard/MyRecords/"+"bear"+DateFormat.format("yyyyMMdd_hhmmss",Calendar.getInstance(Loc ale.CHINA))+".amr");File destDir = new File("/sdcard/MyRecords/");if (!destDir.exists()){destDir.mkdirs();}MyMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);MyMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEF AULT); MyMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEF AULT);file.createNewFile();MyMediaRecorder.setOutputFile(file.getAbsolutePath());MyMediaRecorder.prepare();MyMediaRecorder.start();//停止录音MyMediaRecorder.reset();须加一个权限开发,在AndroidManifest.xml:<uses-permission android:name=></uses-permission><uses-permission android:name=></uses-permission>//1、滑动屏幕改变媒体音量//设置音量MyAudioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);//2、添加屏幕触发事件MyGestureDetector =new GestureDetector(this,new MyGestureDetectorListener());MytvScreen.setOnTouchListener(new OnTouchListener(){@Overridepublic 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(AudioManagerFlag>5){AudioManagerFlag=0;if(((AudioManagerY-arg1.getY())<1)||(arg1.getY()-AudioManagerY<1)){if(arg0.getX()>arg1.getX())//左滑动调小音量{MyAudioManager.adjustStreamV olume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_L OWER, AudioManager.FX_FOCUS_NA VIGA TION_UP);}else//右滑动调大音量{MyAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_R AISE,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<String> 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 = files[i];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")@Overridepublic boolean onItemLongClick(AdapterView<> arg0, View arg1,int arg2, long arg3) {// TODO Auto-generated method stubsetTitle("你点击了第"+arg2+"项");MediaList.this.setResult(resultCode);sp.setMediasp(arg2);//通过全局变量传递参数finish();return false;}});3.2 软件在手机上的测试4、设计总结经过一个多星期的开发,使我从对android从一无所知到现在初入android门槛,这是一个艰辛的过程。

相关文档
最新文档