##// END OF EJS Templates
Adding metatype declarations in qml plugin for Qt5...
Adding metatype declarations in qml plugin for Qt5 Not sure why they are needed for Qt5. Definetly NOT needed for Qt4.

File last commit:

r2239:7132c010391a
r2257:b97c592cff78
Show More
widget.cpp
62 lines | 1.7 KiB | text/x-c | CppLexer
Marek Rosa
Added audio input demo
r2155 #include "widget.h"
#include <QAudioDeviceInfo>
#include <QAudioInput>
#include <QChartView>
#include <QLineSeries>
#include <QChart>
#include <QVBoxLayout>
#include <QValueAxis>
#include "xyseriesiodevice.h"
QTCOMMERCIALCHART_USE_NAMESPACE
Widget::Widget(QWidget *parent)
: QWidget(parent),
m_device(0),
m_chart(0),
m_series(0),
m_audioInput(0)
{
m_chart = new QChart;
QChartView *chartView = new QChartView(m_chart);
chartView->setMinimumSize(800, 600);
m_series = new QLineSeries;
m_chart->addSeries(m_series);
QValueAxis *axisX = new QValueAxis;
Marek Rosa
Added axes titles to audio example and decreased the number of samples on chart to 2000
r2214 axisX->setRange(0, 2000);
axisX->setLabelFormat("%g");
axisX->setTitle("Samples");
Marek Rosa
Added audio input demo
r2155 QValueAxis *axisY = new QValueAxis;
Marek Rosa
Added axes titles to audio example and decreased the number of samples on chart to 2000
r2214 axisY->setRange(-1, 1);
axisY->setTitle("Audio level");
m_chart->setAxisX(axisX, m_series);
Marek Rosa
Added audio input demo
r2155 m_chart->setAxisY(axisY, m_series);
Marek Rosa
Audio example now takes every other value from mic input
r2159 m_chart->legend()->hide();
Marek Rosa
Added axes titles to audio example and decreased the number of samples on chart to 2000
r2214 m_chart->setTitle("Data from the microphone");
Marek Rosa
Added audio input demo
r2155
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(chartView);
setLayout(mainLayout);
QAudioFormat formatAudio;
Tero Ahola
Qt5 build fixes
r2239 formatAudio.setSampleRate(8000);
formatAudio.setChannelCount(1);
Marek Rosa
Added audio input demo
r2155 formatAudio.setSampleSize(8);
formatAudio.setCodec("audio/pcm");
formatAudio.setByteOrder(QAudioFormat::LittleEndian);
formatAudio.setSampleType(QAudioFormat::UnSignedInt);
QAudioDeviceInfo inputDevices = QAudioDeviceInfo::defaultInputDevice();
m_audioInput = new QAudioInput(inputDevices,formatAudio, this);
m_device = new XYSeriesIODevice(m_series, this);
m_device->open(QIODevice::WriteOnly);
m_audioInput->start(m_device);
}
Widget::~Widget()
{
m_audioInput->stop();
m_device->close();
}