2015-03-03 59 views
1

我有一個項目,卡拉OK機會記錄用戶,然後讓用戶通過藍牙與他/她的手機連接,並下載他們的錄音。經過大量的閱讀,例子,文檔我嘗試使用32feet(卡拉OK寫在C#.NET),但我發現文件的唯一途徑是使用ObexWebResponse和一些手機沒有服務:某些手機不支持C#32feet obex藍牙

http://oi62.tinypic.com/153s8p5.jpg(圖片來自藍牙OBEX文件傳輸)

這將導致程序拋出和異常(此代碼是一個示例中,我從一個答案了這裏只是測試採取對話之前發送的視頻文件一旦用戶將其自身配對到卡拉OK機,則使其更自動)

private void sendfile() 
    { 
     SelectBluetoothDeviceDialog dialog = new SelectBluetoothDeviceDialog(); 
     dialog.ShowAuthenticated = true; 
     dialog.ShowRemembered = true; 
     dialog.ShowUnknown = true; 
     OpenFileDialog ofd = new OpenFileDialog(); 
     ofd.Title = "Select File"; 
     if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     { 
      string m_pin = ""; 
      Console.WriteLine(BluetoothSecurity.PairRequest(dialog.SelectedDevice.DeviceAddress, m_pin)); 

      if (ofd.ShowDialog() == DialogResult.OK) 
      { 
       var uri = new Uri("obex://" + dialog.SelectedDevice.ToString() + "/" + ofd.FileName); 
       var request = new ObexWebRequest(uri); 
       request.ReadFile(ofd.FileName); 
       var response = (ObexWebResponse)request.GetResponse(); // << THIS THROWS AN EXCEPTION WITH THE ADDITIONAL INFORMATION: CONNECT FAILED. 
       response.Close(); 
      } 
      else 
      { 
       MessageBox.Show("File Not Selected"); 
      } 
     } 
     else 
     { 
      MessageBox.Show("Device Not Selected"); 
     } 
    } 

另外,Debbuger顯示:http://oi62.tinypic.com/e6rpkg.jpg

是否有OBEX的方法嗎?與每部手機兼容的東西,或與OBEX混合的方法,以適應不兼容的設備。

我已經使用了原生的Windows應用程序(控制面板>設備和打印機>藍牙設備>「設備名稱」>發送文件)發送一個文件,所以這是不是一個真正的硬件相關的問題,如果有任何解決方案,甚至在其他語言或圖書館,請給我一個方向如何做到這一點。

謝謝你提前和你的時間閱讀!

回答