2015-03-03 2 views
1

У меня есть проект, в котором караоке-машина записывает пользователя, а затем позволяет пользователю подключаться к машине через Bluetooth со своим телефоном и загружать их запись. После того, как много чтения, примеры, документаций я попытался с помощью 32feet (караоке написано в C# .NET), но единственный способ я нашел, чтобы отправлять файлы использует ObexWebResponse и некоторые телефоны не имеют, что сервис:C# 32feet obex bluetooth не поддерживается некоторыми телефонами

http://oi62.tinypic.com/153s8p5.jpg (картинка с Bluetooth OBEX File Transfer)

Это заставляет программу бросить и исключение (этот код образца я взял из ответа здесь, чтобы просто проверить отправку видеофайлов, прежде чем принимать диалоги и сделать его более автоматическим, как только пользователь подключится к машине караоке):

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 (панель управления> устройства и принтеры> устройства Bluetooth> имя устройства> отправить файл) отправить файл, чтобы на самом деле это не проблема, связанная с оборудованием, если есть любое решение даже на других языках или в библиотеках, пожалуйста, дайте мне направление, как это сделать.

Спасибо заранее и за ваше время, чтобы читать!

ответ

0

еще не прибегли к этому для моих собственных текущих PC/Bluetooth КОММС бедах (в настоящее время работает с 32feet и C#), однако я столкнулся родной библиотеки Microsoft для C++: https://msdn.microsoft.com/en-us/library/windows/desktop/aa362932%28v=vs.85%29.aspx

Как я сказать, что я не попробовал сам, поэтому не может ручаться за него, но может быть стоит посмотреть?