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