ios - 如何获取手机正在播放歌曲律动节奏的能量值?
PHP中文网
PHP中文网 2017-04-18 09:54:38
[iOS讨论组]

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音乐播放器、网易云音乐等,都要能获取到手机输出音频的律动信息。

假如你有任何头绪或者建议,请务必告知我一下,非常感谢!

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
怪我咯

手机回答不是特别方便,建议百度:"websocket和音频",应该有你想要的答案。

ringa_lee

今天也遇到了这样的问题,请问解决了吗?

大家讲道理

AVAudioPlayer 有个方法 updateMeters() 你尝试下先调这个方法 再调上面两个
我在录音的时候获取声音大小是这么干的
还有你要注意音量大小~~我记得是负的 比如 peak = -80 这种

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号