# iMusic **Repository Path**: toorup/iMusic ## Basic Information - **Project Name**: iMusic - **Description**: No description available - **Primary Language**: Android - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-30 - **Last Updated**: 2023-11-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **iMusic** ### 此项目已不再更新维护!!! ### 视频播放需求请使用:[iPlayer][0],功能特性支持包括但不限于: * 支持网络地址、直播流、本地Assets和Raw资源文件播放
* 支持播放倍速、缩放模式、静音、镜像等功能设置
* 支持自定义视频解码器、自定义控制器、自定义UI交互组件
* 支持多播放器同时播放
* SDK默认控制器(局部UI交互可自定义)支持手势控制、付费试看等交互
* 支持任意位置启动Activity级别悬浮窗口播放
* 支持任意位置启动全局悬浮窗口播放
* 支持任意位置直接启动全屏播放
* 支持连续播放视频列表
[0]: https://github.com/hty527/iPlayer "iPlayer" ### 免责声明: 此项目中应用到了自行收藏的歌单列表、酷狗API、开眼API,纯属Demo演示,无任何商业用途,禁止任何人将示例项目中的第三方API应用于商业用途,如果使用了,连带的法律责任与本作者无关! [Android音乐播放器封装]: https://www.jianshu.com/p/9051b96c02f9 "Android音乐播放器封装" **音乐播放器:**[Android音乐播放器封装] [Android视频播放器封装]: https://www.jianshu.com/p/39d8f824c2fb "Android视频播放器封装" **视频播放器:**[Android视频播放器封装] 基于原生MediaPlayer解码器封装的音乐播放器和视频播放器功能库。极简接入、功能全面、体积甚小。欢迎Star!欢迎下载apk体验!
iMusic示例工程主要界面遵循MVP思想开发,搜索音乐API取自《酷狗音乐》开放API,视频资源API取自《开眼视频》。禁止直接使用此项目中的API于商业行为中,一经使用,与本作者无关!
* Demo apk[下载][1] [1]: https://amuse-1259486925.cos.ap-hongkong.myqcloud.com/apk/iMusic-1.1.9.apk "下载" ___ ## 功能演示及概述: #### 功能演示:(更多功能快照在结尾处) * 音乐播放器预览(如播放不流畅请点击图片查看)
* 视频播放器预览
#### 功能概述: **1.音乐播放器** * 网络音乐播放
* 本地音乐检索播放
* 全局悬浮窗口播放,精准的扇形区域碰撞检测
* 搜索歌手、专辑、歌曲名播放(iMusic)
* 播放器歌词显示、自定义歌词解析器(>=1.0.7) * 自1.0.9版本起开放 退出APP后,后台播放能力。iMusic已对重开处理
* 基本常规操作示例播放器
* 锁屏播放控制
* 自定义唱片机、锁屏界面、通知栏
* 状态栏通知控制
* 定时关闭播放
* 播放模式设置
* 对音乐收藏至本地
* 最近播放记录浏览
* 已对音频输出焦点管理作处理
*** **2.视频播放器** * 支持自定义视频控制器
* 支持自定义封面控制器
* 支持自定义手势识别调节器
* 支持4种画面缩放模式设置
* 支持界面跳转无缝衔接播放
* 迷你小窗口播放、支持屏幕中拖拽
* 全局悬浮窗播放、支持屏幕全局拖拽
* 全屏播放下手势识别调节音量、屏幕亮度、快进、快退
* 支持全局悬浮窗播放器中无缝切换至Activity播放界面
* 列表单例播放
* 列表横竖屏切换
* 常规横竖屏切换
* 已对视频输出焦点管理作处理
## 历史版本 [查看历史版本]: https://github.com/Yuye584312311/iMusic/wiki/HistoryVersion "历史版本" **[查看历史版本]** ## 一.音乐播放器集成: **1.依赖** * 项目根build.gradle中加入: ``` allprojects { repositories { maven { url 'https://jitpack.io' } } } ``` * 模块build.gradle中加入: ``` dependencies { implementation 'com.github.hty527.iMusic:music-player:1.2.0' } ``` **2.MainActivity播放器初始化** ``` @Override protected void onCreate() { super.onCreate(); //初始化播放器内部存储及服务组件。此initialize方法为重载方法,请阅读内部入参说明 MusicPlayerManager.getInstance().init(getApplicationContext()).initialize(MainActivity.this); //其他功能初始化请下方【其他功能初始化】 } @Override protected void onDestroy() { super.onDestroy(); //播放器反初始化。此方法为重载方法,请阅读内部入参说明 MusicPlayerManager.getInstance().unInitialize(MainActivity.this); } ``` [其他功能初始化]: https://github.com/Yuye584312311/iMusic/wiki/MusicPlayerWiki "音乐播放器API介绍" 完整初始化[其他功能初始化]
**3.开始播放你的音频任务** ``` /** * audios:待播放的歌单列表,音频对象需继承BaseAudioInfo类,请阅读类中成员属性注解 * position:开始播放的位置(位于audios中的index) */ MusicPlayerManager.getInstance().startPlayMusic(List audios,int position); ``` **4.音乐歌词** ``` 歌词解析及显示功能在>=1.0.7版本起提供支持,具体使用请参考唱片机类MusicJukeBoxView。(持续优化中) iMuisc内置网络歌词解析仅支持酷狗音乐(搜索模块播放的歌曲)。 ``` [播放器歌词]: https://github.com/Yuye584312311/iMusic/wiki/MusicPlayerWiki "音乐播放器API介绍" 具体使用和说明详见[播放器歌词]
**5.权限声明** ``` ``` * Demo内置一套完整的UI交互播放器,请注册监听事件MusicPlayerManager.getInstance().addOnPlayerEventListener(this);并参照MusicPlayerActivity集成。
[代码混淆和自定义交互及其他功能]: https://github.com/Yuye584312311/iMusic/wiki/MusicPlayerWiki "音乐播放器API介绍" **[代码混淆和自定义交互及其他功能]** ___ ## 二.视频播放器集成: **1.依赖** ``` dependencies { implementation 'com.github.hty527.iMusic:video-player:1.2.0' } ``` **2.xml中引入播放器通道布局
** ``` //开启默认封面控制器 app:video_autoSetCoverController="true" //开启默认视频交互控制器 app:video_autoSetVideoController="true" ``` [视频播放器Wiki介绍]: https://github.com/Yuye584312311/iMusic/wiki/VideoPlayerWiki "视频播放器API介绍" 你也可以在java代码中创建播放器,前往[视频播放器Wiki介绍]
**3.播放器初始化及基本数据设置** ``` mVideoPlayer = (VideoPlayerTrackView) findViewById(R.id.video_player); //开始准备播放 mVideoPlayer.startPlayVideo(dataSource,title); //第二种姿势准备播放 //mVideoPlayer.setDataSource(dataSource,title,); //mVideoPlayer.startPlayVideo(); ``` **4.Activity生命周期方法加入** ``` @Override protected void onResume() { super.onResume(); VideoPlayerManager.getInstance().onResume(); } @Override protected void onPause() { super.onPause(); VideoPlayerManager.getInstance().onPause(); } @Override public void onBackPressed() { //尝试弹射返回 if(VideoPlayerManager.getInstance().isBackPressed()){ super.onBackPressed(); } } @Override protected void onDestroy() { super.onDestroy(); VideoPlayerManager.getInstance().onDestroy(); //如果你的Activity是MainActivity并且你开启过悬浮窗口播放器,则还需要对其释放 VideoWindowManager.getInstance().onDestroy(); } ``` **5.权限声明:** ``` ``` **6.Activity Manifest文件配置:** ``` android:configChanges="orientation|screenSize"> ``` [自定义交互和其他Wiki]: https://github.com/Yuye584312311/iMusic/wiki/VideoPlayerWiki "视频播放器API介绍" 至此基础的视频播放器项目集成完毕,更多高级功能和API请阅读[自定义交互和其他Wiki]
## iMusic预览及下载: **强烈建议集成前先下载体验此APP,根据APP中的功能对照对应的API集成开发!!
** #### 功能快照预览:
#### 下载地址: * 本地[下载][1]
**或者扫描二维码下载
**

* 集成中遇到问题请阅读Wiki,BUG提交欢迎issues。如有其他问题,联系邮箱:584312311@qq.com