1.问题描述:
项目需要做一个随音乐节奏律动的动效,需要获取正在播放歌曲的律动信息,也就是一个随音乐节奏变化的值。
2.尝试解决办法:
1.目前找到的结果是需要使用 AVAudioPlayer 播放该歌曲时才能获取到该音频的律动能量值,对应接口如下:
/* returns peak power in decibels for a given channel */
- (float)peakPowerForChannel:(NSUInteger)channelNumber;
/* returns average power in decibels for a given channel */
- (float)averagePowerForChannel:(NSUInteger)channelNumber;
2.尝试使用录音的方式,将手机播放的音频录起来,然后再获取这些音频的能量值。但是受到周围噪声干扰很大,效果很不好,不知道是不是我处理方式不对。
3.未解决问题:
项目需要的做到的效果是:无论任何播放源,例如使用酷狗播放器、QQ音乐播放器、网易云音乐等,都要能获取到手机输出音频的律动信息。
假如你有任何头绪或者建议,请务必告知我一下,非常感谢!
Adalah tidak mudah untuk menjawab pada telefon mudah alih Saya mencadangkan Baidu: "soket web dan audio", yang sepatutnya mempunyai jawapan yang anda inginkan.
Saya juga mengalami masalah ini hari ini, adakah anda telah menyelesaikannya?
AVAudioPlayer mempunyai kaedah
updateMeters()
Anda boleh cuba melaraskan kaedah ini dahulu dan kemudian dua di atasIni adalah cara saya mendapatkan kelantangan bunyi semasa merakam
Dan anda perlu memberi perhatian kepada kelantangan~~I Ingat ia negatif, seperti puncak = -80