0
나는 의 오디오 스트리밍 모델을 시도하고 있지만 지금은 QUdpsocket
(가상 연결)을 사용하고 있습니다. 그래도 코드가 실행되고있는 것처럼 보이지만 효과적으로 작동하지 않으면 오디오가 스트리밍되지 않습니다. 캡처 됨;Qt QUdpsocket audiostreaming
주요 초점 포인트는 다음과 같습니다. QUDpsocket을 사용하여 QAudioOutput을 시작할 수 있습니까 ???
그러나이 코드는 TCP socket
으로 잘 작동한다고 분명하게 언급합니다!
코드 스 니펫 :
server.h 파일에
private:
QUdpSocket *socketUDP;
및 .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)를 호출해야한다고 생각합니다. –