是否可以使用背景代理或任何其他方式从播放曲目中检测音频级别?
我想要达到的是听轨道,得到一个浮动和改变颜色的基础上的音频播放水平。
你会怎么接近?
发布于 2013-09-17 14:12:33
你需要检测声音的分贝水平。实际上,在WP7中(我还找不到WP8!)没有直接获得分贝级别的API。但我可以用麦克风获取数据来模拟分贝。代码如下:
......
microphone.BufferReady += new EventHandler<EventArgs>(microphone_BufferReady);
........
void microphone_BufferReady(object sender, EventArgs e)
{
double sum = 0;
for (var i = 0; i < buffer.Length; i = i + 2)
{
double sample = BitConverter.ToInt16(buffer, i) / 32768.0;
sum += (sample * sample);
}
double rms = Math.Sqrt(sum / buffer.Length);
decibel = 92.8 + 20 * Math.Log10(rms);
}这是源http://social.msdn.microsoft.com/Forums/windowsapps/en-US/f04e0629-2609-4542-a141-46166f4cbdeb/how-to-get-the-decibel-with-c
https://stackoverflow.com/questions/18836672
复制相似问题