Ich bin neu in Qt und versuchte, eine einfache QT-Klasse zu schreiben, die eine WAV-Datei planen kann. Nach einigem Lesen und Umschauen schrieb ich die Klasse und der Code ist wie folgt. Fragen folgen nach CodeEinfacher Sound (. WAV) Wiedergabe Anwendung in QT (C++)
#include <QtGui/QApplication>
#include "playsound.h"
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
playSound w;
int ch = 2;
int ready = 1;
cout<<"ready"<<ready<<endl;
// w.show();
w.playwav(ch);
return a.exec();
}
Quellcode für playsound.cpp
#include "playsound.h"
playSound::playSound(QWidget *parent): QWidget(parent) {}
playSound::~playSound() {}
void playSound::playwav(int ch)
{
switch (ch)
{
case 1: {QSound::play("/home/alok/qtworkspace/sounds/abc.wav"); break;}
case 2: {QSound::play("/home/alok/qtworkspace/sounds/xyz.wav"); break;}
case 3: {QSound::play("/home/alok/qtworkspace/sounds/abc.wav"); break;}
case 4: {QSound::play("/home/alok/qtworkspace/sounds/aaa.wav"); break;}
case 5: {QSound::play("/home/alok/qtworkspace/sounds/nnn.wav"); break;}
}
}
Probleme und Fragen:
1) ich die Anwendung einmal den Ton schließen wollen, ist played.As es von jetzt sagt Programm läuft und ich muss es mit dem roten Knopf im Bereich "Application Output" in Qt Creator gewaltsam schließen. Ich habe versucht, close() von Qwidget und quit() von QApplication, aber wahrscheinlich mache ich es falsch. Wie geht es weiter?
2) Kann es eine einfachere Implementierung für diese Funktionalität geben? Sie kennen etwas, das keine Ereignisschleifen beinhaltet. Ich habe versucht, es in der alten Schule C++ Art zu tun, wo ich eine Funktion rufe, wenn ich einen Ton spielen muss und damit fertig sein muss, aber es nicht geschafft habe. Vorschläge sehr willkommen auf diesem.
Dank
Danke !! Könnten Sie mich auf ein Beispiel einer einfachen QThread- oder Phonon-Implementierung verweisen, je nachdem, was für Sie praktisch ist und möglicherweise etwas Ähnliches wie das, was ich erklärt habe? In der Zwischenzeit werde ich versuchen, selbst etwas aus der Qt-Dokumentation zu verstehen. – Alok