Ignore:
Timestamp:
Mar 8, 2010, 12:52:58 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.2 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/examples/multimedia/audioinput/audioinput.cpp

    r561 r651  
    11/****************************************************************************
    22**
    3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    44** All rights reserved.
    55** Contact: Nokia Corporation (qt-info@nokia.com)
     
    5353#define BUFFER_SIZE 4096
    5454
    55 AudioInfo::AudioInfo(QObject* parent, QAudioInput* device)
    56     :QIODevice( parent )
     55AudioInfo::AudioInfo(QObject *parent, QAudioInput *device)
     56    :QIODevice(parent)
    5757{
    5858    input = device;
     
    9191    m_maxValue = 0;
    9292
    93     qint16* s = (qint16*)data;
     93    qint16 *s = (qint16*)data;
    9494
    9595    // sample format is S16LE, only!
    9696
    97     for(int i=0;i<samples;i++) {
     97    for (int i = 0; i < samples; ++i) {
    9898        qint16 sample = *s;
    9999        s++;
    100         if(abs(sample) > m_maxValue) m_maxValue = abs(sample);
     100        if (abs(sample) > m_maxValue) m_maxValue = abs(sample);
    101101    }
    102102    // check for clipping
    103     if(m_maxValue>=(maxAmp-1)) clipping = true;
     103    if (m_maxValue >= (maxAmp - 1))
     104        clipping = true;
    104105
    105106    float value = ((float)m_maxValue/(float)maxAmp);
    106     if(clipping) m_maxValue = 100;
    107     else m_maxValue = (int)(value*100);
     107    if (clipping)
     108        m_maxValue = 100;
     109    else
     110        m_maxValue = (int)(value*100);
    108111
    109112    emit update();
     
    133136
    134137    painter.setPen(Qt::black);
    135     painter.drawRect(QRect(painter.viewport().left()+10, painter.viewport().top()+10,
    136                 painter.viewport().right()-20, painter.viewport().bottom()-20));
    137 
    138     if(level == 0)
     138    painter.drawRect(QRect(painter.viewport().left()+10,
     139                           painter.viewport().top()+10,
     140                           painter.viewport().right()-20,
     141                           painter.viewport().bottom()-20));
     142    if (level == 0)
    139143        return;
    140144
     
    142146
    143147    int pos = ((painter.viewport().right()-20)-(painter.viewport().left()+11))*level/100;
    144     int x1,y1,x2,y2;
    145     for(int i=0;i<10;i++) {
    146         x1 = painter.viewport().left()+11;
    147         y1 = painter.viewport().top()+10+i;
    148         x2 = painter.viewport().left()+20+pos;
    149         y2 = painter.viewport().top()+10+i;
    150         if(x2 < painter.viewport().left()+10)
     148    for (int i = 0; i < 10; ++i) {
     149        int x1 = painter.viewport().left()+11;
     150        int y1 = painter.viewport().top()+10+i;
     151        int x2 = painter.viewport().left()+20+pos;
     152        int y2 = painter.viewport().top()+10+i;
     153        if (x2 < painter.viewport().left()+10)
    151154            x2 = painter.viewport().left()+10;
    152155
    153         painter.drawLine(QPoint(x1,y1),QPoint(x2,y2));
     156        painter.drawLine(QPoint(x1, y1),QPoint(x2, y2));
    154157    }
    155158}
     
    172175    deviceBox = new QComboBox(this);
    173176    QList<QAudioDeviceInfo> devices = QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
    174     for(int i = 0; i < devices.size(); ++i) {
     177    for(int i = 0; i < devices.size(); ++i)
    175178        deviceBox->addItem(devices.at(i).deviceName(), qVariantFromValue(devices.at(i)));
    176     }
    177     connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int)));
     179
     180    connect(deviceBox, SIGNAL(activated(int)), SLOT(deviceChanged(int)));
    178181    layout->addWidget(deviceBox);
    179182
    180183    button = new QPushButton(this);
    181184    button->setText(tr("Click for Push Mode"));
    182     connect(button,SIGNAL(clicked()),SLOT(toggleMode()));
     185    connect(button, SIGNAL(clicked()), SLOT(toggleMode()));
    183186    layout->addWidget(button);
    184187
    185188    button2 = new QPushButton(this);
    186189    button2->setText(tr("Click To Suspend"));
    187     connect(button2,SIGNAL(clicked()),SLOT(toggleSuspend()));
     190    connect(button2, SIGNAL(clicked()), SLOT(toggleSuspend()));
    188191    layout->addWidget(button2);
    189192
     
    211214    if(format.sampleSize() != 16) {
    212215        qWarning()<<"audio device doesn't support 16 bit samples, example cannot run";
     216        audioInput = 0;
     217        button->setDisabled(true);
     218        button2->setDisabled(true);
    213219        return;
    214220    }
    215221
    216222    audioInput = new QAudioInput(format,this);
    217     connect(audioInput,SIGNAL(notify()),SLOT(status()));
    218     connect(audioInput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State)));
     223    connect(audioInput, SIGNAL(notify()), SLOT(status()));
     224    connect(audioInput, SIGNAL(stateChanged(QAudio::State)), SLOT(state(QAudio::State)));
    219225    audioinfo  = new AudioInfo(this,audioInput);
    220     connect(audioinfo,SIGNAL(update()),SLOT(refreshDisplay()));
     226    connect(audioinfo, SIGNAL(update()), SLOT(refreshDisplay()));
    221227    audioinfo->start();
    222228    audioInput->start(audioinfo);
     
    251257        button->setText(tr("Click for Pull Mode"));
    252258        input = audioInput->start();
    253         connect(input,SIGNAL(readyRead()),SLOT(readMore()));
     259        connect(input, SIGNAL(readyRead()), SLOT(readMore()));
    254260        pullMode = false;
    255261    } else {
     
    264270    // toggle suspend/resume
    265271    if(audioInput->state() == QAudio::SuspendedState) {
    266         qWarning()<<"status: Suspended, resume()";
     272        qWarning() << "status: Suspended, resume()";
    267273        audioInput->resume();
    268274        button2->setText("Click To Suspend");
    269275    } else if (audioInput->state() == QAudio::ActiveState) {
    270         qWarning()<<"status: Active, suspend()";
     276        qWarning() << "status: Active, suspend()";
    271277        audioInput->suspend();
    272278        button2->setText("Click To Resume");
    273279    } else if (audioInput->state() == QAudio::StoppedState) {
    274         qWarning()<<"status: Stopped, resume()";
     280        qWarning() << "status: Stopped, resume()";
    275281        audioInput->resume();
    276282        button2->setText("Click To Suspend");
    277283    } else if (audioInput->state() == QAudio::IdleState) {
    278         qWarning()<<"status: IdleState";
     284        qWarning() << "status: IdleState";
    279285    }
    280286}
     
    282288void InputTest::state(QAudio::State state)
    283289{
    284     qWarning()<<" state="<<state;
     290    qWarning() << " state=" << state;
    285291}
    286292
     
    300306    device = deviceBox->itemData(idx).value<QAudioDeviceInfo>();
    301307    audioInput = new QAudioInput(device, format, this);
    302     connect(audioInput,SIGNAL(notify()),SLOT(status()));
    303     connect(audioInput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State)));
     308    connect(audioInput, SIGNAL(notify()), SLOT(status()));
     309    connect(audioInput, SIGNAL(stateChanged(QAudio::State)), SLOT(state(QAudio::State)));
    304310    audioinfo->start();
    305311    audioInput->start(audioinfo);
Note: See TracChangeset for help on using the changeset viewer.