Főoldal | Osztályhierarchia | Osztálylista | Fájllista | Osztálytagok | Fájlelemek | Kapcsolódó lapok

PlayThread osztályreferencia

Egy szál a lejátszáshoz. Részletek...

#include <playthread.hh>

A tagok teljes listája.

Publikus típusok

enum  ThreadEvents { Stop = 2000, Finished }

Publikus tagfüggvények

void run ()
 Egy külön szálon lejátsza a hangot.

void initThread (QWidget *obj, snd_pcm_t *handle, QMutex *mutex, double *playpos)
 Inicializálja a szálat.

void loadData (char *ptr, size_t size, WaveFormat f)
 Betölti a lejátszandó hanganyagot.


Védett tagfüggvények

void customEvent (QCustomEvent *e)
 A Stop eseményt kezeli.


Részletes leírás

Egy szál a lejátszáshoz.

Definíció a(z) playthread.hh fájl 60. sorában.


Enumeráció-tagok dokumentációja

enum PlayThread::ThreadEvents
 

Saját események a fő szállal való kommunikációhoz.

Enumeráció-értékek:
Stop  A fő szál küldi ezt, hogy leállítsa a lejátszást.
Finished  Ezt a fő szál kapja, mikor a lejátszás befejeződött.

Definíció a(z) playthread.hh fájl 75. sorában.


Tagfüggvények dokumentációja

void PlayThread::customEvent QCustomEvent *  e  )  [protected]
 

A Stop eseményt kezeli.

Ha a kapott esemény a Stop, akkor egy változó átállításával jelzi a run metódusnak, hogy állítsa le a lejátszást.

Paraméterek:
e a kapott esemény

Definíció a(z) playthread.cc fájl 127. sorában.

Hivatkozások Stop.

void PlayThread::initThread QWidget *  obj,
snd_pcm_t *  handle,
QMutex *  mutex,
double *  playpos
 

Inicializálja a szálat.

Paraméterek:
obj a szülő widget
handle a már megnyitott ALSA PCM kezelő
mutex védelem a playpos változónak
playpos A run metódus ennek segítségével adja át a fő szálnak az aktuális pozíciót

Definíció a(z) playthread.cc fájl 111. sorában.

Hivatkozások: WaveWidget::playSelected().

void PlayThread::loadData char *  ptr,
size_t  size,
WaveFormat  f
 

Betölti a lejátszandó hanganyagot.

Paraméterek:
ptr a PCM puffer
size a PCM adat mérete
f a PCM adat formátuma

Definíció a(z) playthread.cc fájl 120. sorában.

Hivatkozások: WaveWidget::playSelected().

void PlayThread::run  ) 
 

Egy külön szálon lejátsza a hangot.

Ha a SubTimert a WHITE_LINE definícióval fordítjuk, akkor a PCM folyam aktuális pozícióját egy védett változóba helyezi. Ha befejezte, a lejátszást, elküldi a Finished eseményt.

Tennivaló:
Nem interleaved folyamok lejátszását meg kéne csinálni.

Hiba:
Rossz minőségű hang lejátszása recsegve fejeződik be.

Rossz minőségű hangnál a fehér vonal rossz helyre kerül.

A fehér vonal leáll, amikor már minden adat kiíródott a PCM eszközre.

Ha már minden adat kiíródott a PCM eszközre, a lejátszás nem áll meg.

Definíció a(z) playthread.cc fájl 28. sorában.

Hivatkozások WaveFormat::access és Finished.


Ez a dokumentáció az osztályról a következő fájlok alapján készült:
Projekt: SubTimer Készült: Wed Mar 23 22:06:56 2005 Készítette: doxygen 1.3.6