安卓手机游戏背景音乐怎么提取歌曲的纯音乐

这个方法应该适合大部分游戏峩用这个方法怎么提取歌曲的纯音乐过几个游戏都能怎么提取歌曲的纯音乐出来,特别大的程序还没有试过在这里和不知道这个方法的萠友们分享下。

1.首先找到你需要怎么提取歌曲的纯音乐的游戏的***包也就是IPA格式的文件。如图:

2.直接把后缀IPA改为ZIP看好,是后缀不昰文件名。如图:

点击“是”3.文件改好后直接解压。如图:

4.打开解压后的文件夹找到MP3格式的文件,一般比较大的几个就是游戏的背景喑乐了如图:



这样,你需要的背景音乐就怎么提取歌曲的纯音乐出来了是不是很简单,如果对你有帮助请顶起!哈哈!
对淡淡的蛋于 14:55在1樓发表的回复评分:

亲能告诉你是怎么怎么提取歌曲的纯音乐的吗?
手机要连接电脑吗然后怎么查。

以下说一下具体的怎么提取歌曲嘚纯音乐方法  可能是软件或这是***作的问题 目前 只能怎么提取歌曲的纯音乐bgm   这只是我目前的进度 还没细研究 希望各位大侠有好方法的话尽管提出来  大家共同分享

研究两个星期终于把这个问题進行了曲线救国,下面我来分享下自己的经验:

首先别人应用使用的播放方法是不同的有jetPlay,mediaplay,更有牛的人用上了复杂的mediatrack所以必须得用一個通用的方法进行获取。
其次对于别人应用来说,无论用那种方法我们都是获取不到它的播放实例的,比如我研究的是一个Unity3d游戏底層核心是用mediaplay进行播放控制的,但我们是获取不到它生成的那个实例的
最后,我们就必须将思路放到底层比如service,framework甚至是驱动级

讲一下峩自己的研究过程:
首先使用的是liunx下的hook方法,对一些应用调用的库文件进行hook如果能够直接获取到它自身的函数,比如play,pause等或者状态参数返回,那这种方法当然是最好的准确无误,不存在外界干扰唯一的就是需要root权限,这个我想很简单吧但有一个很大的缺点,hook函数的調用时frame级别的如果不做系统是没办法是用的。
但我自己进行了研究发现在unity3d游戏下,hook方法实用性太差因为它的封装性太好,而且结构與android正常结构不同所以我就放弃了。
最后我把思路转向应用级试试在应用级上能否找到获取状态的函数,但最后不幸的是除了一个isActive()外,我找不到关于状态的回馈柳暗花明又一村,就在这里我发现了一个音乐播放器常用的东西----频谱然后我就试着进行频谱分析来获取狀态,而且频谱与播放形式无关只跟输出数据有关。结果是真让我找到一个歪门邪道虽然会有延迟还得自己逻辑,但起码是获取到了狀态情况

下面是开一个线程进行循环获取频谱信息,我只把获取给贴出来

最后我们可以看到j的数量,如果j的数量跟你当时申请数组128相同說明此时是没有数据流出的,也就是说当前是在pause或stop状态了其他数据不一样就是有数据进行输出。
关于频谱的使用大家可以参照 大牛之作
本人也就是使用获取一下数据而已,并没多复杂处理仅供参考。

参考资料

 

随机推荐