Android获取第三方音乐播放器的音乐信息
最近在做Android手机获取第三方音乐播放器的音乐信息。一开始头疼的很,采集第三方的信息太难了,后面看了一遍博文是关于怎么监听系统的音乐播放信息,发现在播放下一首音乐的时候会发送广播,广播会包含下一首信息。
Android系统的音乐播放器会发送:
com.android.music.metachanged
那怎么获取第三方的音乐信息?
先反编译了QQ音乐的Apk, 找到它关于player的service,发现里面用的就是“com.android.music.metachaged”
接下来是Kugou,天天动听,千千静听
com.kugou.android.music.metachanged
com.ting.mp3.playinfo_changed
纠结的事出现是分析虾米,多米,Kuwo时候
虾米最新版本在反编译时报错,人家做了防反编译,虽然网上搜了怎么破解,但有点麻烦,留着后面学习。高版本做了防反编译,但你低版本的时候技术还没这么牛吧。我下了一个低版本,果然反编译成功,找到了“com.xiami.meta_changed‘。可虽然能获取到这个广播,但人家并没在广播里放数据,它在获取到广播的时候再去调用获取音乐的方法,这个代码就写的纠结了,到了这一步就没办法搞了。
多米和kuwo两者都没有发送广播,它们处理的方法都是回调,所以这两个也没办法获取。
下面代码是采集第三方音乐信息的代码
IntentFilter iF = new IntentFilter();
iF.addAction("com.android.music.metachanged");
iF.addAction("com.android.music.playstatechanged");
iF.addAction("com.android.music.playbackcomplete");
iF.addAction("com.android.music.queuechanged");
iF.addAction("com.htc.music.metachanged");
iF.addAction("fm.last.android.metachanged");
iF.addAction("com.sec.android.app.music.metachanged");
iF.addAction("com.nullsoft.winamp.metachanged");
iF.addAction("com.amazon.mp3.metachanged");
iF.addAction("com.miui.player.metachanged");
iF.addAction("com.real.IMP.metachanged");
iF.addAction("com.sonyericsson.music.metachanged");
iF.addAction("com.rdio.android.metachanged");
iF.addAction("com.samsung.sec.android.MusicPlayer.metachanged");
iF.addAction("com.andrew.apollo.metachanged");
iF.addAction("com.kugou.android.music.metachanged");
iF.addAction("com.ting.mp3.playinfo_changed");
registerReceiver(new PlayerReceiver(), iF);
你需要在playerReceiver里面在加上处理广播里的信息
String albumName = intent.getStringExtra("album");String artist = intent.getStringExtra("artist");String trackName = intent.getStringExtra("track");String xiaMiName=intent.getStringExtra("widget_song_name");System.out.println("The playing album name: " + albumName + " artist: "+ artist + " Track:" + trackName+" xiaMiName:"+xiaMiName);String artistName = intent.getStringExtra("notify_artistname");String audioName = intent.getStringExtra("notify_audioname");
最终上述获取方法走不通,有些第三方的音乐信息获取不到。
还有一种实现方式,在播放音乐的时候,音乐播放器会发送一个notification,里面包含当前音乐的相关信息。这种方式需要在systemUI里面添加捕获代码,抓到特定的notification后,再屏幕取词?需要继续研究下。
这个分析后,发现广播用多了也不是什么好事,很容易被别人获取到数据。
Android获取第三方音乐播放器的音乐信息相关推荐
- 使用android studio时酷狗音乐,17 Android Studio开发实战:音乐播放器——浪花音乐...
手机上的多媒体内容讲究声情并茂.悦目且悦耳,这样才能让用户的感官得到最大享受.影视播放器由于存在视频自身的画面,反而限制了开发者的施展空间:而音乐播放器允许定制播放画面,开发者有足够空间施展拳脚.本节 ...
- php文件添加音乐播放器,window_win10系统自带Groove音乐播放器在哪?自带Groove音乐播放器添加音乐等功能的使用教程, 播放器在哪?1 - phpStudy...
win10系统自带Groove音乐播放器在哪?自带Groove音乐播放器添加音乐等功能的使用教程 播放器在哪? 1.点击桌面的左下端"开始菜单"符号,然后在右上角,找到" ...
- iOS开发之网络音乐播放器(SC音乐)(二)
iOS开发之网络音乐播放器(SC音乐)(二) 前言 iOS开发之网络音乐播放器(SC音乐)(一)已经介绍完播放控制.音乐数据获取解析.歌词显示等.本文在上文的基础上介绍锁屏播放设置,后台播放设置,手势 ...
- 【毕业设计】28-基于单片机的音乐播放器简易音乐播放器设计(原理图+源代码+仿真工程+答辩PPT+答辩论文)
typora-root-url: ./ [毕业设计]28-基于单片机的音乐播放器简易音乐播放器设计(原理图+源代码+仿真工程+答辩PPT+答辩论文) 文章目录 typora-root-url: ./ ...
- php 在线调用音乐播放器,宅音乐播放器,HTML5网页播放器,带后台管理及API调用,使用thinkphp编写...
宅音乐播放器 宅音乐播放器,HTML5网页播放器,集成后台管理及API调用,目前正在开发中,敬请关注 技术栈 后端:thinkphp 5.1 前端:layui 数据库:mysql 演示 整合依赖安装包 ...
- mac音乐播放器QQ音乐好用吗?vip绿钻的QQ音乐有哪些版本优势?
mac音乐播放器QQ音乐好用吗?当然!QQ音乐是Mac平台用户体验极佳的音乐播放器,最新最热的排行榜.歌单.电台.MV天天推荐,智能音乐搜索.猜你喜欢帮你轻松发现音乐.更何况是不需要绿钻和付费包,VI ...
- html中加入音乐播放器,HTML网页添加音乐播放器做背景音乐代码-标签audio
是 HTML 5 的一个新标签,定义声音,比如音乐或其他音频流. 调用格式: src="http://sc1.111ttt.com/2016/1/02/04/195040016323.mp3 ...
- 基于android的网络音乐播放器-网络音乐的搜索和展示(五)
作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...
- 基于android的网络音乐播放器-网络音乐的多线程下载(六)
作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩 ...
最新文章
- Pip install: ImportError: cannot import name IncompleteRead
- java,使用get、post请求url地址
- 51 时间片系统 纯c语言,51单片C语言学习.doc
- day07 数据类型的内置方法(列表的内置方法)
- python视频教学视频哪个好-Python入门视频看哪个好?适合初学者的教学视频推荐...
- MYSQL优化---hidba
- 框架优点_铝型材框架相比其他框架的优点
- java Set无序集合 HashSet 的对象元素唯一性
- 如何解决PHP上传中文出错,如何解决php上传中文乱码的问题
- C#解决“Emgu.CV.CvInvoke”的类型初始值设定项引发异常 的其中一个办法
- java饼状图获取数据集_HighChars3D饼图(从后台获取数据)
- 移动硬盘写入数据报错“MS-DOS功能无效”,或移动硬盘内新建文件夹报错0x8000FFFF灾难性错误
- 移动硬盘安装win10操作系统
- 什么是DirectX
- AD19 网络标签 无法连接
- android定位周边,Android 使用高德SDK编写周边搜索定位
- 并行分布式计算 并行计算机体系结构
- Android 签名机制原理解析和V1 、V2签名区别
- char ch= 中 什么意思java_在 Java 语言中定义了如下变量: char ch; 下列赋值语句正确的是_韩语初下答案_学小易找答案...
- 计算机科学期刊_成为数据科学家的五种科学期刊
热门文章
- 重磅!中国数据生产力大赛获奖榜单揭晓
- 天空城网络科技隆重推出“新8G卡王
- Win10使用EasyBCD安装Ubuntu20.04双系统(windows引导)
- OMAPL138 TI官网开发资源合集
- !大部分程序员只会写3年代码
- Integer.MAX_VALUE和Integer.MIN_VALUE是什么?
- java-net-php-python-ssm担保系统项目管理系统计算机毕业设计程序
- 去除PDF文件的数字签名、密码
- 自制汉字字库,识别汉字(四)(实用篇)
- python3输出九九乘法表,python3: 简单4步骤输出九九乘法表