c# - xbox 360 kinect光束角度与属性更改有关

标签 c# wpf audio kinect

试图在C#wpf中获取光束 Angular ,If PropertyChange上引发了异常。有没有人举这个项目的例子,如果需要,我可以提供更多信息。我正在尝试使麦克风更改属性,但会引发异常

        InitializeComponent();
        //Beam Angle Code
        this.DataContext = this.Rect;
        this.Loaded += delegate { ListenForBeamChanges(); };
    }

    private KinectAudioSource CreateAudioSource()
    {
        var source = KinectSensor.KinectSensors[0].AudioSource;
        source.NoiseSuppression = true;
        source.AutomaticGainControlEnabled = true;
        source.BeamAngleMode = BeamAngleMode.Adaptive;
        return source;
    }

    private KinectAudioSource audioSource;
    private void ListenForBeamChanges()
    {
        KinectSensor.KinectSensors[0].Start();
        audioSource = CreateAudioSource();
        audioSource.BeamAngleChanged += audioSource_BeamChanged;
        audioSource.Start();
    }

    public double _beamAngle;
    public double BeamAngle
    {
        get { return _beamAngle; }
        set
        {
            _beamAngle = value;
            OnPropertyChanged("BeamAngle");
        }
    }

    void audioSource_BeamChanged(object sender, BeamAngleChangedEventArgs e)
    {
        BeamAngle = e.Angle * -1;
    }

    public event PropertyChangedEventHandler PropertyChanged;

    public void OnPropertyChanged(string propName)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(propName));
    }

  }
}

最佳答案

http://kinectaudioposition.codeplex.com

http://channel9.msdn.com/coding4fun/kinect/Kinect-Audio-Positioning复制样本用法代码

/// <summary>
/// Event handler to care Window loaded
/// Construct KinectMicArray and draw contents
/// </summary>
private void Window_Loaded(object sender, RoutedEventArgs e)
{
    kinectMic = new KinectMicArray();
    kinectMic.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(kinectMic_PropertyChanged);
    DrawContents();
}
/// <summary>
/// Event handler to care KinectMicArray property changed
/// Showing angles as number for debug
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void kinectMic_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
    KinectMicArray ka = sender as KinectMicArray;
    this.myLabel.Content = string.Format("Beam = {0:F}; Source = {1:F};  ", ka.BeamAngleProperty, ka.SourceAngleProperty); 
}

关于c# - xbox 360 kinect光束角度与属性更改有关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29416204/

相关文章:

c# - 如何使此代码更易于管理碰撞音频?

android - 为什么 Android 的 MediaPlayer 需要这么长时间才能准备一些直播流进行播放?

c# - 在 C# 中使用 ActiveX

c# - 使用 ListBox 通过 MVVM 导航 TextBox

WPF : Get index of clicked/selected cell on DataGrid

c# - 使用 Xceed.Wpf.Toolkit 中的 MaskedTextBox 时出现 SetConnectionId 异常

javascript - 捕获音频并上传

c# - 如何使用正则表达式匹配从 A 到 B 的任何内容,其中 B 前面没有 C

c# - 创建一个常量但本地数组

wpf - 代码风格的访问控制