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
}
'socketUDP'を作成して設定するコードを表示するために質問を編集できますか? –
G.M、編集して、socketUDPを作成するコードを表示しています。 –
'socketUDP'はどこからデータを読み込みますか?または私は何かを誤解したことがありますか?データグラムを受け取るためには、適切なホスト/ポートパラメータで['bind'](http://doc.qt.io/qt-5/qabstractsocket.html#bind)を呼び出す必要があると思います。 –