##// END OF EJS Templates
QSplineSeries calculateControlPoints moved to splinechartitem. This way we don't need to deal with controlPoints on logaritmic scale
QSplineSeries calculateControlPoints moved to splinechartitem. This way we don't need to deal with controlPoints on logaritmic scale

File last commit:

r2273:1c49aa901cb2
r2372:d6a999e30ac3
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");
Michal Klocek
Refactors internals...
r2273 axisX->setTitleText("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);
Michal Klocek
Refactors internals...
r2273 axisY->setTitleText("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();
}