Windows phone 7 在windows phone中获取麦克风的振幅
我想在windows phone中获取麦克风输入的实时振幅。实现这一点最简单有效的方法是什么?要获得振幅,您必须处理麦克风类的BufferReady事件: 设置代码Windows phone 7 在windows phone中获取麦克风的振幅,windows-phone-7,audio,windows-phone-8,Windows Phone 7,Audio,Windows Phone 8,我想在windows phone中获取麦克风输入的实时振幅。实现这一点最简单有效的方法是什么?要获得振幅,您必须处理麦克风类的BufferReady事件: 设置代码 Microphone microphone = Microphone.Default; microphone.BufferReady += new EventHandler<EventArgs>(microphone_BufferReady); microphone.BufferDuration = TimeSpan.
Microphone microphone = Microphone.Default;
microphone.BufferReady += new EventHandler<EventArgs>(microphone_BufferReady);
microphone.BufferDuration = TimeSpan.FromMilliseconds(1000);
byte[] buffer;
buffer = new byte[microphone.GetSampleSizeInBytes(microphone.BufferDuration)];
microphone.Start();
麦克风麦克风=麦克风。默认值;
micromic.BufferReady+=新的事件处理程序(micromic_BufferReady);
Mirror.BufferDuration=TimeSpan.From毫秒(1000);
字节[]缓冲区;
buffer=新字节[microsic.GetSampleSizeInBytes(microsic.BufferDuration)];
麦克风。开始();
事件处理程序块
void microphone_BufferReady(object sender, EventArgs e)
{
microphone.GetData(buffer);
for(int i = 0; i< buffer.Length; i+=2)
{
//The value of sample is the amplitude of the signal
short sample = BitConverter.ToInt16(new byte[2] { buffer[i], buffer[i + 1] }, 0);
}
}
void麦克风\u BufferReady(对象发送方,事件参数e)
{
麦克风。获取数据(缓冲区);
对于(int i=0;i
看看这篇文章:谢谢你的回复。它在“microscope.BufferReady+=neweventhandler(microscop_BufferReady);”处抛出一个“System.NullReferenceException”。你能修好吗?我能修好。只需在WMAppManifest.xml中启用ID_CAP_麦克风。