千家信息网

如何使用android实现简单音乐播放器

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要为大家展示了"如何使用android实现简单音乐播放器",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用android实现简单音乐播放器"
千家信息网最后更新 2024年09月22日如何使用android实现简单音乐播放器

这篇文章主要为大家展示了"如何使用android实现简单音乐播放器",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用android实现简单音乐播放器"这篇文章吧。

前言

写这个音乐播放器实在是迫不得已。因为我们Andoird课程要求写一个音乐播放器。所以就有了此项目。这个项目比较简单,实现了最基本的音乐播放功能,然后界面是仿照着网易云音乐的样式,写的想写成一样但是技术不够。

基本的音乐播放

设置播放音乐文件

Android播放媒体文件大概都是使用MediaPlayer这个类来操作的。在播放音乐前,必须要给这个MediaPlayer设置一要播放的东西,对于文件资源来说(音乐,视频都算一种文件资源),能够唯一标识它的就是文件的地址(路径)。我们这里使用的是本机音乐,那么就使用文件路径就可以。

private static final MediaPlayer mediaPlayer = new MediaPlayer(); /** * 设置播放文件 * @param path */ public static void setPlayPath(String path){ try { // 设置类型 mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); // 这里要reset一下啊 (当已经设置过音乐后,再调用此方法时,没有reset就会异常) mediaPlayer.reset(); mediaPlayer.setDataSource(path);// 设置文件源 mediaPlayer.prepare();// 解析文件 } catch (IOException e) { e.printStackTrace(); } }

播放音乐

设置完播放文件后,下一步就是音乐的播放、暂停、跳进度播放等等。这里先介绍MediaPlayer的自带方法

mediaPlayer.isPlaying();// 是否正在播放mediaPlayer.start(); // 开始播放,如果已经在播放不会有什么效果mediaPlayer.stop(); // 停止播放 - 不可以使用start重新开始mediaPlayer.pause(); // 暂停当前播放mediaPlayer.seekTo(0); // 移动到某一播放进度mediaPlayer.getCurrentPosition();// 获取当前播放进度

了解了上面的方法后那么就可以实现几乎所有的音乐播放功能。

那么要实现音乐播放功能只需要在调用了setPlayPath(path)后再调用mediaPlayer.start()就能成功的播放音乐前提条件是你确实的设置了正确的音乐路径

获取音乐的信息

获取音乐信息可以使用MediaMetadataRetriever类来获取。它和MediaPlayer也需要一个文件路径来寻找到音乐。

private static final MediaMetadataRetriever mmr = new MediaMetadataRetriever();public static Song getSong(String path){ Song song = new Song();// 自己定义的歌曲类 song.setPath(path); // 获取音乐相关信息 mmr.setDataSource(path); // 歌曲名 String title = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE); song.setTitle(title); // 唱片集 String album = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM); song.setAlbum(album); // (艺术家)歌手 String artist = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST); song.setArtist(artist); // 歌曲长度(时间长度 单位 mm) int duration = Integer.parseInt(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)); // 播放时长单位为毫秒 song.setDuration(duration); // 歌曲的图片 byte[] image = mmr.getEmbeddedPicture();// 图片,可以通过BitmapFactory.decodeByteArray转换为bitmap图片// BitmapFactory.decodeByteArray(image, 0, image.length); song.setImage(image); return song; }

其他功能

其他功能都是基于Android的事件和以上播放功能加上MediaMetadataRetriever获取音乐信息来实现的。

以上是"如何使用android实现简单音乐播放器"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

音乐 文件 功能 播放器 信息 歌曲 路径 内容 图片 篇文章 进度 单位 就是 方法 资源 长度 项目 学习 帮助 迫不得已 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全从我做起手抄报四年级 乐至软件开发工资一般多少钱 软件开发策划书案例 应用软件开发商家 服务器客户端编号 软件开发中心珠海介绍 电信校招网络技术工程师工资 数据库上线初始化 选择题什么不属于网络安全特性 无法接通服务器 smarty读取数据库 几种常用的应用服务器教案 安仁安卓软件开发学费多少 清空mysql数据库表数据 数据库系统设计的重要性 网络安全观和网络强国思想 怎么设置2列同时重复数据库 珠海卫星软件开发代理价格 如何删除数据库的重复项 部署k8S需要多少服务器 党政机关网络安全宣传 无法连接到管理服务器 我的世界神奇宝贝服务器下载 怀化口碑好的软件开发公司 两张卡怎么选择数据库 个人软件开发者如何谋生 前瞻网数据库360 体测数据库设计概述 斯威变频器服务器怎么查故障 虚拟服务器建设网站教程
0