




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计说明书 论文 1 基于基于 iPhoneiPhone 6 6 的音乐播放器的音乐播放器 摘 要 本系统是一个运行在 iPhone 手机上基于 iOS 6 0 的音乐播放器 主要功 能包括本地音乐播放 网络音乐下载 网络音乐搜索 MV 播放及系统设置等 其中 播放子系统具备循环播放 顺序播放 单曲循环 顺序选取 暂停 录音及歌词显示 等功能 该音乐播放器是在 Xcode 4 6 2 SDK 上开发的 Xcode 是苹果公司向开发人员提供 的运行在苹果公司的 Mac 操作系统下的用于开发 Mac OS iOS 应用程序的集成开发 环境 Mac OS 是一套运行于苹果 Macintosh 系列电脑上的操作系统 而 iOS 是由苹果 公司开发的手持设备操作系统 iOS 的主要开发语言是 Objective C 它是一种通用的 高级的 面向对象的编程语言 本系统的服务器服务环境是用 MAMP 搭建的 MAMP 是一款专为开发人员设计的 用于在 Mac OS X 上创建本地服务器环境的软件 关键词 iPhone iOS Xcode Mac OS MAMP 音乐播放器 毕业设计说明书 论文 2 The Music Player Based on IPhone 6 Abstract This system is a music player based on the iOS 6 0 which can be run on the iPhone The main functions include playing the local music downloading the online music searching the music online playing the MV and changing setting systems Among them the function of playing music includes playing music in the loop order selection pause recording and displaying the lyrics This music player is developed on the Xcode 4 6 2 SDK which is a integrated development environment provided by the apple for the developers to develop the applications for Mac OS iOS on the Mac Mac OS is an operating system running on the Apple Macintosh computers IOS is an operating system developed by Apple only for the handle devices The main development language is Objective C which is an universal advanced object oriented programming language The server environment for this system is created using MAMP which is a software designed for the developers to build a local server environment on the Mac OS X Keywords IPhone IOS Xcode Mac OS MAMP Music player 毕业设计说明书 论文 I 目 录 前 言 1 第 1 章 关键技术简介 2 1 1 iOS 简介 2 1 2 Objective C 2 1 3 Xcode 3 1 4 MAMP 3 1 5 MVC 模式概述 4 第 2 章 系统分析 6 2 1 需求分析 6 2 1 1 系统总体功能需求 7 2 1 2 播放子系统功能需求 7 2 1 3 用户界面需求 8 2 2 可行性分析 9 2 2 1 经济可行性 9 2 2 2 技术可行性 10 2 2 3 社会可行性分析 10 第 3 章 总体设计 11 3 1 播放器总体设计 11 3 2 服务器功能模块设计 12 3 3 数据库设计 12 毕业设计说明书 论文 II 第 4 章 详细设计与实现 13 4 1 开发环境配置 13 4 1 1 服务器配置 13 4 1 2 数据库创建 15 4 1 3 服务器功能展示 16 4 2 客户端设计与实现 18 4 2 1 首页 18 4 2 2 本地列表 20 4 2 3 播放页面 21 4 2 4 网络列表 22 4 2 5 MV 播放列表 23 4 2 6 系统设置页面 24 第 5 章 系统测试与运行 26 5 1 测试目的 26 5 2 测试方法 27 5 3 测试过程 28 5 3 1 首页按钮滑动功能测试 28 5 3 2 本地音乐播放测试 29 5 3 3 网络音乐下载测试 29 5 3 4 搜索功能测试 30 5 3 5 视频播放功能测试 31 5 3 6 歌词同步播放功能测试 31 毕业设计说明书 论文 III 5 3 7 录音功能测试 32 5 3 8 系统设置功能测试 33 5 4 测试总结 34 结束语 35 参考文献 36 致 谢 37 毕业设计说明书 论文 第 1 页 共 37 页 前前 言言 目前智能手机的市场竞争非常激烈 在智能手机市场中 三星持续保持了 榜首的位置 2012 年第四季度的销售总额为 6450 万台 同比增长 85 3 与 此同时 苹果的销量在 2012 年的最后一个季度达到 4350 万台 比 2011 年第四 季度增长 22 6 双巨头垄断局势从智能手机行业延伸到操作系统 Android 操作系统的智能手机在 2012 最后一个季度 售出近 145 万台 其中三星占 42 5 就整体而言 谷歌的操作系统以 69 7 的市场份额占据了 2012 年最 后一个季度的绝对优势 比 2011 年第四季度的 51 3 有了大幅度的提高 相 比之下 基于苹果 iOS 操作系统的 iPhone 市场份额相对下降 而其下降的主 要原因是 iPhone 平台应用软件的相对短缺 用户在 App Store 上找不到其需要 的应用软件 最终使越来越多的消费者放弃了购买 iPhone 目前 视听娱乐已 成为人们生活中的基本需求 多数人喜欢在工作 生活之余 听听音乐来放松 自己 而 App Store 上的音乐播放器少之又少 因此设计一款简约 时尚的音 乐播放器显得尤为重要 本系统主要是针对 iPhone 手机用户而开发的一款基于 iOS 6 0 的音乐播放 器 为更好地满足用户的需求 首先对各个平台的音乐播放器进行了分析比较 然后根据需求分析确定本系统其主要功能为 本地音乐播放 网络音乐下载 网络音乐搜索 MV 播放及系统设置等 其中 播放子系统具备循环播放 顺 序播放 单曲循环 顺序选取 暂停 录音 歌词显示等功能 本论文共分为五章 第一章 关键技术简介 主要介绍 iOS Objective C 语言 Xcode MAMP 第二章 系统分析 主要讲功能需求分析 界面需求分析 可行性需求分析 第三章 总体设计 主要写播放器总体设计 服务器功能模块设计 数据库 表设计 第四章 详细设计与实现 主要讲解开发环境的配置 数据库的建立和客户 端的功能模块详细设计 毕业设计说明书 论文 第 2 页 共 37 页 第五章 软件测试 主要写了软件测试的目的 方法与过程 毕业设计说明书 论文 第 3 页 共 37 页 第 1 章 关键技术简介 1 1 iOS 简介 iOS 原名 iPhone OS 是由苹果公司开发的手持设备操作系统 支持的 设备包括 iPhone iPod touch iPad 以及 Apple TV iOS 的系统架构分为四个 层次 核心操作系统层 the Core OS layer 核心服务层 the Core Services layer 媒体层 the Media layer 可轻触层 the Cocoa Touch layer 苹果于 2007 年 6 月 29 日发布了 iOS 的第一个版本 目前已开 发到 iOS 6 iOS 6 拥有更完善的文本输入法 并内置了对热门中文互联网服务 的支持 从而让 iPad iPhone 和 iPod touch 更适合中文用户使用 有了全新 的中文词典和更完善的文本输入法 汉字输入变得更轻松 更快速 更准确 百度已成为 Safari 的内置选项 还可将视频直接分享到优酷和土豆网 也能从 相机 照片 地图 Safari 和 Game Center 向新浪微博发布信息 iOS 操作采用的是多点触控操作 控制方法包括滑动 轻触屏幕和图标及 按键 操作有 滑动 轻按 缩小及放大 此外 iOS 移动设备中还内置了加 速器 使得旋转 iOS 设备时 界面也可以得到旋转 这也使得 iPhone 等便携设 备更便于使用 自 3GS 开始 iPhone 装备有陀螺仪 这使得 iPhone 有了重力 感应 游戏效果更加的突出 1 2 Objective C Objective C 是一门基于 C 语言的面向对象语言 它在现代计算机中主要 作用于 Mac OS X 作为桌面语言 Objective C 是 C 语言的一个超集 其主要特 色与优势如下 Objective C 不仅提供了其他面向对象编程语言中的抽象概念和运行机制 而且还是一种非常灵活的语言 这种动态性就是 Objective C 的最大优势所在 这种动态性可以让应用在运行中 即 运行时 判断其该有的行为 而不是 毕业设计说明书 论文 第 4 页 共 37 页 在编译构建时就固定下来 因此 Objective C 把应用程序从编译时 链接时 的限制中解放出来 Objective C 的动态性来自以下三个方面 动态类型 动态类型 可以让代码在运行时判断对象的类型 Id 数据类型可以在运行 时用任何数据类型来替换 所以 你可以让运行时因素来决定代码中用到的对 象是什么类型 动态类型让你的应用更加灵活 这是静态类型做不到的 动态绑定 动态绑定 让代码在运行时判断需要调用什么方法 而不是编译时 就像 动态类型把对象的类型放到运行时再去判断一样 动态绑定把选择调用哪种方 法的任务放到了运行时去完成 和其他面向对象语言一样 方法调用和代码并 没有在编译时就联结结在一起 只有在消息发出时 它们才真正联结 动态类 型和动态绑定的存在使得选择哪个接收者以及调用哪个方法都可以在运行时来 决定 动态载入 动态载入 可以让程序在运行时添加代码模块以及其他资源 有了动态载 入特性 应用可以根据需要加载一系列可执行代码以及资源 而不是在启动时 就加载所有组件 这能够大大提高性能 可执行代码中可以含有和程序运行时 整合的新类型 1 3 Xcode Xcode 是苹果公司向开发人员提供的运行在苹果公司的 Mac 操作系统下的 用于开发 MacOS iOS 应用程序的集成开发环境 Xcode 可以编辑由 C C Objective C Objective C 和 Java 源代码组成的工程 可以生成 Mac OS X 支持的所有类型的执行代码 包括命令行工具 框架 插件 内核扩 展 程序包 和应用程序 1 4 MAMP MAMP 代表 Macintosh Apache MySQL 和 PHP 它用于在 Mac OS X 上创建 一个本地 Web 应用开发环境 其中 Macintosh 简称 MAC 是苹果系列电脑中的 一款个人电脑 Apache 是世界使用排名第一的 Web 服务器 它可以运行在几乎 毕业设计说明书 论文 第 5 页 共 37 页 所有的计算机平台上 由于其跨平台和高安全性而被广泛使用 是目前最流行 的 Web 服务器软件之一 MySQL 是一个快速 多线程 多用户的关系型数据库 管理系统 它支持正规的 SQL 查询语言和采用多种数据类型 能对数据进行各 种详细的查询等 PHP 是英文超文本预处理语言 Hypertext Preprocessor 的 缩写 PHP 是一种 HTML 内嵌式的语言 是一种在服务器端执行的嵌入 HTML 文 档的脚本语言 语言的风格类似于 C 语言 已被广泛地运用 MAMP 分为 MAMP 和 MAMP PRO MAMP PRO 是商业 专业级版本的本地服务 器环境 用于 Mac OS X 为专业的 web 开发人员和程序员而开发 在 Mac OS X 的开发环境下 MAMP PRO 易于安装和管理 使用 MAMP PRO 不需要复杂的配置就可以创建一个有效的测试环境 环境之 间界限清楚 这可以让几个项目同时开发 为了尽可能的代表各式各样的 ISP PHP 可以在不同版本间随时切换 以防止任何可能的兼容性问题 轻点几 下鼠标 就可以在 Mac 上用 MAMP 作中转服务 1 5 MVC 模式概述 MVC Model View Controller 即模型 视图 控制器 M 是指数据模型 V 是指用户界面 C 则是控制器 使用 MVC 的目的是将 M 和 V 的实现代码分离 从而使同一个程序可以使用不同的表现形式 C 存在的 目的则是确保 M 和 V 的同步 一旦 M 改变 V 应该同步更新 MVC 是一个设计模式 它强制性的使应用程序的输入 处理和输出分开 使用 MVC 应用程序被分成三个核心部件 模型 视图 控制器 它们各自处理 自己的任务 下面来具体说明下三个部分的功能 1 视图 视图是用户看到并与之交互的界面 对老式的 Web 应用程序来说 视图就 是由 HTML 元素组成的界面 在新式的 Web 应用程序中 HTML 依旧在视图中扮 演着重要的角色 但一些新的技术已层出不穷 它们包括 Adobe Flash 和象 XHTML XML XSL WML 等一些标识语言和 Web services 2 模型 模型表示企业数据和业务规则 在 MVC 的三个部件中 模型拥有最多的处 毕业设计说明书 论文 第 6 页 共 37 页 理任务 被模型返回的数据是中立的 就是说模型与数据格式无关 这样一个 模型能为多个视图提供数据 由于应用于模型的代码只需写一次就可以被多个 视图重用 所以减少了代码的重复性 3 控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求 所以当单击 Web 页面中的超链接和发送 HTML 表单时 控制器 例如 servlet 本身不输出任 何东西和做任何处理 它只是接收请求并决定调用哪个模型构件去处理请求 然后确定用哪个视图来显示模型处理返回的数据 现在我们总结 MVC 的处理过程 首先控制器接收用户的请求 并决定应该 调用哪个模型来进行处理 然后模型用业务逻辑来处理用户的请求并返回数据 最后控制器用相应的视图格式化模型返回的数据 并通过表示层呈现给用户 1 低耦合性 视图层和业务层分离 这样就允许更改视图层代码而不用重 新编译模型和控制器代码 因为模型与控制器和视图相分离 所以很容易改变 应用程序的数据层和业务规则 2 高重用性和可适用性 随着技术的不断进步 现在需要用越来越多的方 式来访问应用程序 MVC 模式允许你使用各种不同样式的视图来访问同一个服 务器端的代码 所需要的仅令是改变视图层的实现方式 而控制层和模型层无 需做任何改变 3 较低的生命周期成本 MVC 使降低开发和维护用户接口的技术含量成为 可能 4 快速的部署 使用 MVC 模式使开发时间得到相当大的缩减 它使程序员 Java 开发人员 集中精力于业务逻辑 界面程序员 HTML 和 JSP 开发人员 集中精力于表现形式上 5 可维护性 分离视图层和业务逻辑层也使得 WEB 应用更易于维护和修改 6 有利于软件工程化管理 由于不同的层各司其职 每一层不同的应用具 有某些相同的特征 有利于通过工程化 工具化管理程序代码 毕业设计说明书 论文 第 7 页 共 37 页 第 2 章 系统分析 2 1 需求分析 需求分析是软件开发的一个关键过程 在这个过程中 系统分析员和软件 工程师确定顾客的需要 只有在确定了这些需要后他们才能够分析和寻求新系 统的解决方法 需求分析是软件定义阶段中的最后一步 是确定系统必须完成 哪些工作 也就是对目标系统提出完整 准确 清晰 具体的要求 目前 在人们的日常生活中 手机扮演着不可或缺的重要角色 上网 聊 天 购物等一系列功能更是给人们带来了越来越多的便利和享受 在人们工作 和娱乐的同时 听音乐也成了放松和舒缓心情的主要方式之一 本系统主要是针对 iPhone 手机用户的音乐播放需求 在对各个平台的音乐 播放器进行分析比较后 根据需求分析确定了本系统的主要功能为 本地音乐 播放 网络音乐下载 网络音乐搜索 MV 播放及系统设置等 其中 播放子系 统具备循环播放 顺序播放 单曲循环 顺序选取 暂停 录音 歌词显示等 基本功能 图 2 1 系统总用例图 毕业设计说明书 论文 第 8 页 共 37 页 2 1 1 系统总体功能需求 根据对各个平台音乐播放器的集中分析和汇总 并结合对广大 iPhone 手机 用户进行调查的结果 得出本系统设计的音乐播放器的主要功能有 本地音乐 播放 网络音乐下载 网络歌曲搜索 MV 播放及系统设置等 其系统总体用 例图如图 2 1 所示 2 1 2 播放子系统功能需求 结合各平台主流音乐播放器的特点 设计得出本系统的音乐播放子系统应 具有的功能有 上一首 下一首 暂停 录音 歌词显示 专辑图片显示等 其功能用例图如图 2 2 所示 图 2 2 播放子系统用例图 其中歌曲播放模式有顺序播放 单曲循环 随机播放等 其基本的播放模 式功能用例图如图 2 3 所示 毕业设计说明书 论文 第 9 页 共 37 页 图 2 3 播放模式用例图 2 1 3 用户界面需求 随着技术的进步 可视化的应用程序设计语言被越来越多的广泛使用 利 用可视化的程序设计语言可以设计出功能强大 操作简单 使用方便 适合不 同人群和领域的应用程序 有些应用程序的用户界面设计有很强的艺术性 给 人一种清晰 美观 简明 易用的感觉 因此 一个系统的用户界面设计不仅 影响着其本身外观的艺术性 而且对系统的可用性也有很重要的影响 可以说用户界面是一个应用程序最重要的一面 它直接影响程序的使用价值 对于大多数用户来说 用户界面就是他们对一个产品最初的大致了解 所以即 使是一个内部设计良好但用户界面不好的应用程序 也很难得到广大用户的青 睐 一致性是用户界面设计中的重要因素之一 一致性的外观体现了应用程序 的协调性 如果缺乏一致性就会使界面混乱而无序 这样的界面体现不出该应 用应有的价值 更可能使用户觉得该应用不可靠 结合上述分析 本款播放器的主界面设计如下图 2 4 所示 整体色调采用 充满生机的青绿色 简约而不失美观 功能按钮亦按简约易用的原则设计和摆 放 用户通过点击界面下方 tabBar 上的按钮 即可在本地音乐 网络音乐 MV 设置之间进行随意切换 毕业设计说明书 论文 第 10 页 共 37 页 图 2 4 播放器主界面 图 2 5 播放子系统 播放子系统的界面亦采用青绿色的色调 整体显得协调美观 具体如上图 2 5 所示 同时点击专辑图片左右滑动即可在歌词显示和歌手图片显示画面间 自由的切换 2 2 可行性分析 可行性分析也称为可行性研究 即是在系统调查的基础上 针对新系统的 开发是否具备必要性和可能性 对新系统的开发从技术 经济 管理的方面进 行分析和研究 以避免投资失误 保证新系统的开发成功 可行性研究的目的 就是用最小的代价在尽可能短的时间内确定问题是否能解决 该系统的可行性 分析包括以下几个方面的内容 2 2 1 经济可行性 主要是对项目的经济效益进行评价 随着 iPhone 手机的流行 设计和开发 一款能满足 iPhone 用户听音乐需求的播放器是十分必要的 具备音乐的搜索 下载 播放等功能的音乐的播放器是很有市场前景的 本款播放器在经济上是 完全可以接受的 只要用户拥有 iPhone 手机 即可安装这款音乐播放器 所 以本款播放器在经济上是可行的 毕业设计说明书 论文 第 11 页 共 37 页 2 2 2 技术可行性 技术上的可行性分析主要分析技术条件是否能顺利完成开发工作 硬 软 件能否满足开发者的需要等 软件方面 应用程序开发所需要的各种软件环境 都已具备 服务器方面则有 MAMP 安装管理都很方便 其包括的 PHP 和 MySQL 的灵活性 安全性和易用性都为服务器端的设计和代码编写提供了良好 的条件 因此 系统软件开发平台已成熟可行 硬件方面 拥有一台 Mac 或 Mac Book 即可 本人已拥有一台 Mac Book 因此 系统硬件开发平台已成熟 可行 2 2 3 社会可行性分析 本应用程序为独立开发 在技术上没有使用任何现有的软件与方法 所以 在法律方面不会存在侵犯专利权 侵犯版权等问题 完全符合规定 毕业设计说明书 论文 第 12 页 共 37 页 第 3 章 总体设计 3 1 播放器总体设计 根据需求分析和功能用例图 分析得出本播放器功能模块主要如下四个部 分 本地列表 网络列表 MV 列表 设置 具体功能设计如下图 3 1 所示 音乐播放器 本地列表网络列表 歌曲播放界面 设置MV列表 上 一 曲 下 一 曲 暂 停 播 放 录 音 专 辑 图 片 显 示 歌 词 显 示 播 放 暂 停 退 出 下 载 搜 索 播 放 模 式 随 机 播 放 单 曲 循 环 顺 序 播 放 关开 图 3 1 播放器功能模块图 具体功能描述如下 1 本地音乐播放功能 对保存在本地的歌曲进行播放 2 网络音乐下载功能 网络上的音乐可以下载保存到本地 3 网络歌曲搜索功能 在网络歌曲列表中查找自己想要听的歌曲 4 歌词同步显示功能 播放音乐的时候同步显示歌词 5 MV 播放功能 播放已下载的 MV 6 录音功能 录制音频并可以回放 7 系统设置功能 设置是否自动下载歌词 是否自动下载专辑图片等 毕业设计说明书 论文 第 13 页 共 37 页 3 2 服务器功能模块设计 为配合上述播放器的功能设计 服务器端设计分为如下 3 个功能模块 歌 曲分类 歌曲列表显示 歌曲录入 如图 3 2 所示 服务器 歌 曲 分 类 歌 曲 录 入 歌 曲 列 表 图 3 2 服务器模块图 具体功能描述如下 1 歌曲分类功能 对歌曲进行分类 如新歌 经典老歌等 方便用户 分类查找 2 歌曲列表显示功能 显示上传到服务器的所有歌曲 并可以删除已 上传的歌曲 和试听已存在的歌曲 3 歌曲录入端口功能 录入歌曲名称 歌手名 上传歌手图片 歌曲 资源到服务器 3 3 数据库设计 根据上述服务器功能模块图 结合播放器的的功能 分析 设计得出如下 表 3 1 所示的系统数据库表 表 3 1 歌曲属性表 music list 字段名称类型是否为空是否自增是否主键注释 idint 10 序号 m idvarchar 20 歌曲 id m file namevarchar 100 歌曲路径 m filevarchar 100 歌曲名 m who songvarchar 20 歌手名 m who image namevarchar 100 专辑图片 m downloadsint 10 下载量 m timeint 10 上传时间 m sizevarchar 20 歌曲大小 毕业设计说明书 论文 第 14 页 共 37 页 第 4 章 详细设计与实现 4 1 开发环境配置 客户端环境 1 Mac OS X 10 8 2 操作系统 2 Safari 6 0 1 浏览器及其兼容浏览器 3 开发工具 Xcode 4 3 2 4 开发语言 Objective C 5 硬件环境 CPU 主频为 2 5 GHz 及以上 内存 4 GB 及以上 服务器环境 1 操作系统 Mac OS X 10 8 2 操作系统 2 数据库系统 MySQL 3 开发语言 PHP 4 开发工具 MAMP 2 0 5 5 硬件环境 CPU 主频为 2 5 GHz 及以上 内存 4 GB 及以上 4 1 1 服务器配置 安装好 MAMP 后 在 Finder 中选择应用程序 点击 MAMP 选择 Launch MAMP PRO 即可启动 MAMP 配置 如图 4 1 所示 图 4 1 Launch MAMP PRO 点击 Hosts 添加本地地址 127 0 0 1 如图 4 2 所示 毕业设计说明书 论文 第 15 页 共 37 页 图 4 2 Hosts 本地地址配置 点击 Server 修改 Apache 端口号为 80 如图 4 3 所示 图 4 3 Apache 端口配置 毕业设计说明书 论文 第 16 页 共 37 页 经过上述两部操作 服务器即已配置好 点击右上角的 start 按钮 即可 开启 Apache 和 MySQL 如图所 4 4 示 图 4 4 启动 MAMP PRO 4 1 2 数据库创建 此时点击 WebStart 开启服务器 点击 PHPMyadmin 在新建数据库的位置新 建数据库 注意整理那一项要选择 utf8 general ci 使其与下面 MySQL 连接 校对的地方相同 如图 4 5 所示 图 4 5 新建数据库 毕业设计说明书 论文 第 17 页 共 37 页 当数据库建立好之后 便可以在数据库中建立数据表了 本系统建立了如 下两张数据表 如图 4 6 所示 图 4 6 系统数据表 4 1 3 服务器功能展示 整个服务器共分为 3 部分 第一部分是歌曲的分类 如新歌 经典老歌等 其可以添加歌曲的分类 也可以删除或重命名已有的歌曲分类 如图 4 7 所示 毕业设计说明书 论文 第 18 页 共 37 页 图 4 7 歌曲分类 第二部分是歌曲的列表显示 其可以删除已有的歌曲 可以查看这首歌曲 的详情 还可以试听 如图 4 8 4 9 所示 图 4 8 歌曲列表 毕业设计说明书 论文 第 19 页 共 37 页 图 4 9 歌曲详情 第三部分是歌曲录入端口 选择歌曲类型 输入歌手名 上传专辑图片和 歌曲资源即可完成音乐的上传 如图 4 10 所示 图 4 10 歌曲录入端口 毕业设计说明书 论文 第 20 页 共 37 页 4 2 客户端设计与实现 客户端设计属于详细设计 详细设计是软件工程中软件开发的一个步骤 就是对概要设计的一个细化 就是详细设计每个模块实现算法 所需的局部数 据结构 详细设计的目标有两个 实现模块功能的算法要逻辑上正确 算法描 述要简明易懂 在总体设计部分已确定了本款音乐播放器的各功能模块 结合界面设计原 则 在此部分将对各功能模块的具体用户界面设计和详细功能设计进行细化 并编写代码实现 4 2 1 首页 如图 4 11 所示 为本款音乐播放器的首页 其实现方法使用了 iCarousel 控件 这使得用户只要用手指在本地音乐 网络音乐 MV 和设置模块之间进行 轻松滑动 即可实现不同功能的自由切换 同时通过轻轻点击即可进入相应的 具体功能模块 图 4 11 首页图 4 12 本地播放列表 毕业设计说明书 论文 第 21 页 共 37 页 iCarousel 控件的使用可以增加用户的体验感受 具体代码如代码 4 1 所示 pragma mark iCarousel methods 显示每个 iCarousel 的内容 如标题 图片 UIView carousel iCarousel carousel viewForItemAtIndex NSUInteger index reusingView UIView view UIButton button nil UIImageView imgaeTY nil FXLabel label nil create new view if no view is available for recycling if view nil 设置 view 大小 view UIView alloc initWithFrame CGRectMake 0 0 500 600 view backgroundColor UIColor clearColor view setFrame CGRectMake 0 0 200 340 imgaeTY UIImageView alloc initWithFrame CGRectMake 0 20 210 247 imgaeTY setImage UIImage imageNamed page button UIButton alloc initWithFrame CGRectMake 0 80 180 200 label FXLabel alloc initWithFrame CGRectMake 40 20 180 100 label numberOfLines 3 设置行数 label textColor RGBA 0 120 125 1 label backgroundColor UIColor clearColor NSString title self exchangeNumberToString index label 的内容可以分别来设置 label text NSString stringWithFormat arrList objectAtIndex index label font UIFont fontWithName Arial BoldMT size 20 图片内容 NSString number NSString stringWithFormat d index 1 if index 9 number NSString stringWithFormat 0 d index 1 button setImage UIImage imageNamed NSString stringWithFormat 竖条 number forState UIControlStateNormal button tag carousel currentItemIndex button addTarget self action selector buttonTouched forControlEvents UIControlEventTouchUpInside view addSubview imgaeTY view addSubview button view addSubview label else button view subviews lastObject return view 代码 4 1 iCarousel 控件实现 4 2 2 本地列表 本地列表用于显示用户当前所拥有的本地歌曲 如图 4 12 所示 为当前已 毕业设计说明书 论文 第 22 页 共 37 页 下载在本地的歌曲列表 上下拖动即可以实现列表的滑动 这让用户可以轻松 自如的浏览当前歌曲列表或查找想听的音乐 在本模块实现方法中 使用了 tableView 及 tableViewCell 控件 通过其实现歌曲信息的显示 如歌曲名 歌手名等 具体实现代码如代码 4 2 所示 设置每个 cell 显示的内容 UITableViewCell tableView UITableView tableView cellForRowAtIndexPath NSIndexPath indexPath NSUInteger section indexPath section NSUInteger row indexPath row NSString key mArray objectAtIndex section NSArray nameSection names objectForKey key static NSString cellIndentifier fdsff ListCell cell tableView dequeueReusableCellWithIdentifier cellIndentifier if cell nil NSArray nibArray NSBundle mainBundle loadNibNamed ListCell owner self options nil cell nibArray objectAtIndex 0 AudioFile audio mArray objectAtIndex indexPath row audio cellIndexPath indexPath NSString num if indexPath row 9 num NSString stringWithFormat 00 d indexPath row 1 else if indexPath row 99 num NSString stringWithFormat 0 d indexPath row 1 else num NSString stringWithFormat d indexPath row 1 cell MusicNameLabel text NSString stringWithFormat num audio auName cell SingerLabel text audio ausinger cell selectmp3Object audio cell textLabel text nameSection objectAtIndex row 显示每个 label 的内容 cell btnAccessory hidden YES return cell 代码 4 2 本地列表 cell 设置 4 2 3 播放页面 播放页面一般是用户停留时间最多的页面 因此播放页面的用户界面设计 就显得尤为重要 简洁明了 而又不失优雅是本次系统界面设计的基本原则 基于此而设计的播放页面如下图 4 13 所示 在此页面 用户可以进行上一曲 下一曲 循环播放 随机播放 单曲循环 查看歌词等操作 需要的时候 通 过点击录音按钮即可以轻松录制自己想唱的歌曲 同时也支持后台播放功能 毕业设计说明书 论文 第 23 页 共 37 页 图 4 13 音乐播放页面 图 4 14 网络列表 具体实现代码如代码 4 3 所示 真机后台播放 锁屏播放 AVAudioSession sharedInstance setCategory AVAudioSessionCategoryPlayback error nil AVAudioSession sharedInstance setActive YES error nil UIApplication sharedApplication beginReceivingRemoteControlEvents 获得下一首歌曲的指针 void next if selectedIndex soundFilesArray count 1 selectedIndex else selectedIndex 0 获得上一首歌曲的指针 void previous if selectedIndex 0 selectedIndex soundFilesArray count 1 else selectedIndex 代码 4 3 播放页面 毕业设计说明书 论文 第 24 页 共 37 页 4 2 4 网络列表 与本地列表相同 网络列表也是通过 tableView 和 tableViewCell 控件实 现的 但网络列表中显示的信息更为丰富 如可显示专辑图片 歌曲名称 歌 手名 下载量 下载按钮等 同时 网络音乐的搜索功能通过 searchBar 控件 实现 具体如图 4 14 所示 具体实现代码如代码 4 4 所示 请求服务器接口 从服务器中获得数据 void startDownLoadFromServer appDataDownloader appData appDataDownloader alloc init appData dataURL NSString stringWithFormat http 127 0 0 1 music index PHP index get music info 1 50 0 appData delegate self Localaudio IEURL appData dataURL appData userData nil appData startDownload 调用 startDownload 方法下载数据 下载图片 void startDownLoadLogoPicture for int i 0 i DMArray count i AudioFile audio DMArray objectAtIndex i if audio aucoverImageName nil IconDownloader ico IconDownloader alloc init ico imageUrl NSString stringWithFormat http audio imagePath audio aucoverImageName ico delegate self ico userData audio ico startDownload 代码 4 4 歌曲图片下载 4 2 5 MV 播放列表 MV 播放功能是通过引用 MediaPlayer 类实现的 播放列表的展示即是将歌 曲名称和类型通过 MediaPlayer 类中自带的方法写入数组 再通过 tableView 控件调用该数组以显示 MV 列表 如图 4 15 所示 毕业设计说明书 论文 第 25 页 共 37 页 图 4 15 MV 列表 图 4 16 设置页面 具体代码如代码 4 5 所示 基于要播放的视频的文件名 生成视频文件的 URL NSURL movieURL NSString filename withFiletype NSString type NSBundle bundle NSBundle mainBundle NSString moviePath bundle pathForResource filename ofType type if moviePath return NSURL fileURLWithPath moviePath else return nil IBAction playVideo id sender NSString videoPath NSBundle mainBundle pathForResource strName ofType mp4 if videoPath NULL 主目录路径 NSArray directoryPaths NSSearchPathForDirectoriesInDomains NSDocumentDirectory NSUserDomainMask YES Document Path NSString documentDirectory directoryPaths objectAtIndex 0 plist Path videoPath documentDirectory stringByAppendingPathComponent NSString stringWithFormat mp4 strName if NSFileManager defaultManager fileExistsAtPath videoPath return NSURL videoURL NSURL fileURLWithPath videoPath 毕业设计说明书 论文 第 26 页 共 37 页 if moviePlayerView nil moviePlayerView nil moviePlayerView MPMoviePlayerViewController alloc initWithContentURL videoURL moviePlayerView moviePlayer view setFrame self view frame 设置视频播放器大小 moviePlayerView moviePlayer view setFrame CGRectMake 0 0 320 460 self view addSubview moviePlayerView moviePlayer view moviePlayerView moviePlayer play moviePlayerView moviePlayer setControlStyle MPMovieControlModeDefault moviePlayerView moviePlayer setControlStyle MPMovieControlStyleEmbedded self view bringSubviewToFront tool 代码 4 5 视频播放 4 2 6 系统设置页面 系统设置页面是通过 Switch 控件实现的 其功能包括自动下载歌词 是否 自动下载专辑图片等 如图 4 16 所示 具体代码如代码 4 6 所示 方法功能 设置是否自动下载歌词 IBAction musicLyrics id sender BOOL lState NSString lMusicLrcState lState self sMusicLyrics isOn 获得 Switch 控件的状态 if lState lMusicLrcState NSString stringWithFormat YES else lMusicLrcState NSString stringWithFormat NO NSUserDefaults standardUserDefaults setObject lMusicLrcState forKey musicLyrics NSUserDefaults standardUserDefaults synchronize self musicLyrics 方法功能 设置是否自动专辑图片 IBAction musicImage id sender BOOL lState NSString lMusicImage lState self sMusicImage isOn 获得 Switch 控件状态 if lState lMusicImage NSString stringWithFormat YES 毕业设计说明书 论文 第 27 页 共 37 页 else lMusicImage NSString stringWithFormat NO NSUserDefaults standardUserDefaults setObject lMusicImage forKey musicIm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育老师笔试试卷及答案
- 四防培训试题答案及答案
- (听赏)小螺号(独唱)教学设计-2025-2026学年小学音乐接力版二年级下册-接力版
- 1.2《太空探索》说课稿-2024-2025学年地理中图版七年级上册
- Amodiaquine-dihydrochloride-Standard-生命科学试剂-MCE
- 2023-2024学年四年级下学期英语教学设计(牛津上海版(试用本))
- 临床基因扩增试题及答案
- 4.3 电阻:导体对电流的阻碍作用说课稿 2023-2024学年教科版物理九年级上册
- Alkyne-PEG-Silane-MW-2000-生命科学试剂-MCE
- Ac-Lys-CoA-NH2-Ac-Lys-coenzyme-A-NH2-生命科学试剂-MCE
- 华中数控车床课件
- 行政会议接待分工方案(3篇)
- 《水力学》课件-第4章 水动力学基础(二)
- 智慧零碳园区综合解决方案
- 生活垃圾填埋场环境污染的排查与治理方案
- 孕产妇情绪管理课件
- 警务实战教官教学法课件
- 中式面点初级培训课件
- 海外直播活动策划方案
- 2025年零售与电商行业:电商行业人才需求与培养策略分析
- 2025年N1叉车司机模拟考试1000题及答案
评论
0/150
提交评论