我是否可以获得MPMusicPlayerController
到AvAudioPlayer
的实例来获取iPod音乐播放器或任何属性的采样率或分贝,从声级获得分贝?
目前我正在使用这个公式:
MPMusicPlayerController * player;
player = [MPMusicPlayerController iPodMusicPlayer];
float soundValue = 100 * log10 (1-player.volume);
答案 0 :(得分:0)
我将继续并假设您希望将dB级别与0dB(这将是完整音量)进行比较,因为这是您的代码尝试执行的操作。因此,例如,如果将音量调低至最大值的70%,则为-3dB。如果这是你想要做的,这里是代码:
float soundValue = 20 * log10( player.volume )
无需从1减去音量。音量是介于0.0和1.0之间的浮点数,基本上代表音频最大音量的百分比。由于它总是100%或更低,因此dB值将为0(对于全音量)或负值。正dB值意味着发生放大,这是简单回放无法实现的。
顺便说一下,根据Apple的documentation,在iOS 7中不推荐使用MPMusicPlayerController卷方法。