Advertisement
Guest User

Untitled

a guest
Dec 10th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.34 KB | None | 0 0
  1. MainWindow::MainWindow(QWidget *parent) :
  2.     QMainWindow(parent),
  3.     ui(new Ui::MainWindow)
  4. {
  5.     ui->setupUi(this);
  6.     QProcess p;
  7.     p.setProgram("aplay");
  8.     //p.setProgram("cp");
  9.     QStringList l;
  10.     //l << "/dev/stdin" << "myfile.txt";
  11.     l << "-D" << "hw:0" << "-c" << "2"  << "-f"  << "S16_LE" << "-r" << "44100";
  12.     p.setArguments(l);
  13.     QDataStream d(&p);
  14.     p.start(QIODevice::WriteOnly|QIODevice::Unbuffered);
  15.     p.waitForStarted();
  16.     d << "\n";
  17.     QThread::msleep(20);
  18.     d << "\n";
  19.     qDebug() << p.state();
  20.     if(p.state()!=2) {
  21.         qDebug() << "Error:" << p.error();
  22.     }
  23.     char samples[11]="sdfgjhtr\r\n";
  24.     for(quint16 n=1;n<300;n++) {
  25.         for(quint16 m=0;m<441;m++)
  26.             d.writeBytes(samples,11);
  27.         QThread::msleep(20);
  28.         p.waitForBytesWritten(-1);
  29.     }
  30.     qDebug()<<p.bytesToWrite();
  31.     //p.readAllStandardOutput();
  32.     qDebug()<<p.bytesToWrite();
  33.     qDebug()<<p.isWritable();
  34.     p.waitForBytesWritten(30000);
  35.     p.closeWriteChannel();
  36.     //p.readAllStandardOutput();
  37.     QThread::msleep(200);
  38.     qDebug()<<p.bytesToWrite();
  39.     p.waitForBytesWritten(-1);
  40.     QThread::msleep(200);
  41.     qDebug()<<p.bytesToWrite();
  42.     //qDebug()<<p.readAllStandardError();
  43.     p.kill();
  44.     p.waitForFinished();
  45. }
  46.  
  47. MainWindow::~MainWindow()
  48. {
  49.     delete ui;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement