123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- #include <yaml-cpp/yaml.h>
-
- MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)//, buf(&tmp)
- {
- ui->setupUi(this);
-
- //avcodec_register_all();
-
- QAudioFormat format;
- format.setSampleRate(44100);
- format.setChannelCount(2);
- //format.setFrequency(48000);
- //format.setChannels(2);
- format.setSampleSize(128000);
- format.setCodec("audio/pcm");
- format.setByteOrder(QAudioFormat::LittleEndian);
- format.setSampleType(QAudioFormat::SignedInt);
-
- QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
- if (!info.isFormatSupported(format))
- format = info.nearestFormat(format);
-
- qDebug() << format;
-
- output=new QAudioOutput(format, this);
- out=output->start();
-
- currentRadio = 0;
- nrj = new NRJ(this);
- connect(nrj, SIGNAL(setupFinished()), this, SLOT(setupFinished()));
- nrj->setupPlayer();
-
- }
-
- MainWindow::~MainWindow()
- {
- delete ui;
- }
-
- void MainWindow::setupFinished()
- {
- int i = 0;
- foreach(Radio* r, nrj->getRadios())
- {
- RadioWidget* w = new RadioWidget();
- ui->layRadios->addWidget(w, i / 2, i % 2);
- connect(w, SIGNAL(clicked(Radio*)), this, SLOT(radioChanged(Radio*)));
- w->setRadio(r);
- ++i;
- }
- nrj->getAllCur();
- }
-
- void MainWindow::radioChanged(Radio *r)
- {
- if(currentRadio != 0)
- {
- currentRadio->stopStream();
- currentRadio->disconnect(this);
- }
- currentRadio = r;
- if(currentRadio != 0)
- {
- connect(currentRadio, SIGNAL(streamData(QByteArray)), this, SLOT(radioData(QByteArray)));
- currentRadio->startStream();
- }
- }
-
- void MainWindow::radioData(QByteArray data)
- {
- out->write(data);
- //streamData.append(data);
- }
|