2017-12-26 14 views
0

私はQTCpsocketのオーディオストリーミングモデルを試していますが、現在はQUdpsocket(仮想接続)を使用していますが、コードが実行されているように見えますが、効果的にその仕事をしていないので、捕らえられた;Qt QUdpsocket audiostreaming

主な焦点は次のとおりです。QUApsOutputをQUDpsocketで起動することは可能ですか?

このコードは、TCP socketで正常に動作することを明確に記載してください!

private: 
    QUdpSocket *socketUDP; 

server.hファイルに

および.CPPに次いでplaystream()メソッド

udpServer::udpServer(QObject *parent) : QObject(parent) 
{ 
    socketUDP = new QUdpSocket(this); 
    serverAddress = QHostAddress("192.168.1.8"); 
    //socketUDP->bind(serverAddress, 1357); 
    socketUDP->bind(1357, QUdpSocket::ShareAddress); 
    socketUDP->open(QIODevice::ReadOnly); 
    connect(socketUDP, &QUdpSocket::readyRead, this, &udpServer::playStreamedAudio); 

} 

ファイル:

コードスニペット

void udpServer::playStreamedAudio() { 
     // set the QAudioFormat parameters of output audio device. 
     my_QAudioFormat = new QAudioFormat; 
     my_QAudioFormat->setSampleRate(48000); 
     my_QAudioFormat->setChannelCount(1); 
     my_QAudioFormat->setSampleSize(8); 
     my_QAudioFormat->setCodec("audio/pcm"); 
     my_QAudioFormat->setByteOrder(QAudioFormat::LittleEndian); 
     my_QAudioFormat->setSampleType(QAudioFormat::UnSignedInt); 
     // 
    // get default audio output device 
     audiOutputDevice = QAudioDeviceInfo::defaultOutputDevice(); 

     audiooutput = new QAudioOutput(audiOutputDevice,my_QAudioFormat, this); 
    // attach to socket! 
    qDebug() << "Playaing AudioStream"; 
    socketUDP->open(QIODevice::ReadOnly); 
    audiooutput->start(socketUDP); // the Audio output device shall listen to server socket for audio 
} 
+1

'socketUDP'を作成して設定するコードを表示するために質問を編集できますか? –

+0

G.M、編集して、socketUDPを作成するコードを表示しています。 –

+0

'socketUDP'はどこからデータを読み込みますか?または私は何かを誤解したことがありますか?データグラムを受け取るためには、適切なホスト/ポートパラメータで['bind'](http://doc.qt.io/qt-5/qabstractsocket.html#bind)を呼び出す必要があると思います。 –

答えて

0

それをUDPソケットが適切でないかもしれないことが判明しましたQioDevicesとしてインタフェースされる可能性があります...それらが意図されていないと思われる場合、パケットはファイルに書き込まれ、処理される方がよいでしょう。

関連する問題