2012-12-04 56 views
0

我有一個函數有一個錄音按鈕創建按鈕,保存流文件

protected void StartRecord(object sender, RoutedEventArgs e) 
    { 
     MessageBox.Show("Start Recording"); 
     //string generatedName = Guid.NewGuid().ToString(); 
     string generatedName = @"c:\Desktop\Stream.recorded"; 
     //recordStreamPathAndName = @"C:" + generatedName + ".recorded"; 
     //this.recordStream = File.Create(recordStreamPathAndName); 
     this.recordStream = File.Create(generatedName); 
     this.Recorder = new KinectRecorder(KinectRecordOptions.Color | KinectRecordOptions.Skeletons, recordStream); 
    } 

將這段代碼讓我創造了記錄按鈕? 如果它確實如何創建它以顯示在主窗口上並實際開始錄製? 答案在這裏:這裏 是的.xaml代碼

<Button Click ="StartRecord" DataContext="{Binding}" Name="StartRecording" Width="50" Height="50" Canvas.Left="709" Canvas.Top="0" /> 

更新:按鈕創建和文件創建。但沒有任何內容保存到文件中。

void sensor_AllFramesReady(object sender, AllFramesReadyEventArgs e) 
    { 
      // some stuff 

     using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame()) 
     { 
      if (skeletonFrame == null) 
      { 
       return; 
      } 


      // Start recorder 
      this.StartRecord(sender, e); 
     // parameter asks for (object, Routedeventargs) 
     // but I have only (object, AllFramesReadyargs) declared in this function. 


     // some stuff here 

     } 
    } 
+1

沒有按鈕在那裏創建。 – ryadavilli

回答

1

您需要在XAML中創建按鈕並將其掛接到回調。喜歡的東西:

<Button Click="StartRecord"> 

在您的代碼隱藏你的函數聲明看起來像:

private void StartRecord(object sender, RoutedEventArgs e) 
{ 
    // code here 
} 

告訴你的程序,你要點擊在那裏按鈕時該怎麼做。

+0

我有按鈕顯示,但我怎麼知道當我點擊它,發生什麼事情? – user1773489

+1

當你點擊按鈕時,我不知道你想要做什麼。當你點擊按鈕時,回調函數中的任何代碼都會被調用 - 按照你想要知道的事情發生。如果您不確定WPF如何處理控件和操作,我建議您在打開Kinect開發之前閱讀它。 –

+0

我已經創建了這個文件,但是我不知道錄音機是否實際錄製並將信息發送到文件。當我檢查創建的文件時,文件大小顯示什麼都沒有保存。要做到這一點,我必須在我的AllFramesReady函數中調用StartRecord函數?如果我這樣做,我如何調出參數,因爲我的AllFramesReady具有AllFramesReadyEventArgs作爲參數,而我的StartRecord具有RoutedEventArgs作爲參數。 – user1773489