C++ 通过蓝牙插座c+实时传输音频+;

C++ 通过蓝牙插座c+实时传输音频+;,c++,linux,qt,sockets,bluetooth,C++,Linux,Qt,Sockets,Bluetooth,我试图使用蓝牙套接字和rfcomm在两台设备之间进行通信,但我的程序崩溃(请参阅错误图像) 我只听了一两秒钟,然后项目就崩溃了 这是我的客户发送音频: void ClientTalk::startTalk() { qDebug() << "Start talk"; audio_output->stop(); connect(audio_input, SIGNAL(stateChanged(QAudio::State)), this, SLOT(hand

我试图使用蓝牙套接字和rfcomm在两台设备之间进行通信,但我的程序崩溃(请参阅错误图像)

我只听了一两秒钟,然后项目就崩溃了

这是我的客户发送音频:

void ClientTalk::startTalk()
{
    qDebug() << "Start talk";

    audio_output->stop();
    connect(audio_input, SIGNAL(stateChanged(QAudio::State)), this, SLOT(handleStateChangedInput(QAudio::State)));

    audio_input->start(socket);

    qDebug() << "Talking to server";
}

试着使用Valgrind。它只是说我从软件包中丢失了一些数据
void ClientTalk::readSocket()
{
    //QBuffer *buffer;
    QByteArray buff;

    audio_input->stop();

    connect(audio_output, SIGNAL(stateChanged(QAudio::State)), this, SLOT(handleStateChangedOutput(QAudio::State)));


    while(socket->canReadLine())
    {
        buff.append(socket->readLine());
        QBuffer audio_buffer(&buff);
        audio_buffer.open(QIODevice::WriteOnly);
        //QDataStream s(buff, QIODevice::ReadWrite);
        audio_output->start(&audio_buffer);
        qDebug() << buff << endl;
    }
    buff.clear()
}
void ServerTalk::readSocket()
{
    QBluetoothSocket *socket = qobject_cast<QBluetoothSocket *>(sender());
    if (!socket)
        return;

    //QBuffer *buffer;

    audio_input->stop();
    QByteArray buff;

    connect(audio_output, SIGNAL(stateChanged(QAudio::State)), this, SLOT(handleStateChangedOutput(QAudio::State)));

    while(socket->canReadLine())
    {
        buff.append(socket->readLine());
        QBuffer audio_buffer(&buff);
        audio_buffer.open(QIODevice::WriteOnly);
        //QDataStream s(buff, QIODevice::ReadWrite);
        audio_output->start(&audio_buffer);
        qDebug() << buff << endl;
    }
    buff.clear();
}
connect(btn_talk, SIGNAL(pressed()), server, SLOT(startTalk()));
connect(btn_talk, SIGNAL(released()), server, SLOT(readSocket()));