某些手机不支持C#32英尺obex蓝牙

某些手机不支持C#32英尺obex蓝牙,c#,.net,bluetooth,32feet,obex,C#,.net,Bluetooth,32feet,Obex,我有一个项目,卡拉OK机记录用户,然后让用户通过蓝牙连接到机器,并下载他们的录音。经过大量阅读、示例和文档后,我尝试使用32英尺(卡拉OK是用C#NET编写的),但我发现发送文件的唯一方法是使用ObexWebResponse,有些手机没有这项服务: (来自蓝牙OBEX文件传输的图片) 这会导致程序抛出异常(这段代码是我从这里的一个答案中提取的一个示例,它只是测试在删除对话框之前发送视频文件,并在用户与卡拉OK机配对后使其更加自动): private void sendfile()

我有一个项目,卡拉OK机记录用户,然后让用户通过蓝牙连接到机器,并下载他们的录音。经过大量阅读、示例和文档后,我尝试使用32英尺(卡拉OK是用C#NET编写的),但我发现发送文件的唯一方法是使用ObexWebResponse,有些手机没有这项服务:

(来自蓝牙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");
        }
    }
private void sendfile()
{
SelectBluetoothDeviceDialog=新建SelectBluetoothDeviceDialog();
dialog.ShowAuthenticated=true;
dialog.showmembered=true;
dialog.ShowUnknown=true;
OpenFileDialog ofd=新建OpenFileDialog();
ofd.Title=“选择文件”;
if(dialog.ShowDialog()==System.Windows.Forms.DialogResult.OK)
{
字符串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请求=新的ObexWebRequest(uri);
request.ReadFile(ofd.FileName);

var response=(ObexWebResponse)request.GetResponse();//我目前的PC/Bluetooth通信问题(目前正在使用32英尺和C#)还没有采用此方法,但我确实遇到了一个用于C++的本机Microsoft库:

正如我所说,我自己没有试过,所以不能保证,但它可能值得一看