Salutare! Speram sa ma ajutati intr-o problema pe care am intampinat-o. Vreau sa extind un .ogg streamer luat de pe devmaster.net astfel incat sa includa operatiile Stop(), Pause() si m-am incurcat la implementarea functiei Stop(). Am facut un program care demonstreaza acest aspect pe care il puteti downloda de aici(3 fisiere): http:students.info.uaic.ro/~adrian.manolache/download/main.cpp http:students.info.uaic.ro/~adrian.manolache/download/ogg.cpp http:students.info.uaic.ro/~adrian.manolache/download/ogg.h si un fisier .ogg de test: http:students.info.uaic.ro/~adrian.manolache/download/stereo.ogg
Observati secventa: i++; Sleep(200); printf("i=%dn", i); if (i==5) ogg.Stop(); if (i==9) ogg.Play(); in main.cpp. Ceea ce am vrut sa fac este: sa las sunetul sa se auda un timp apoi sa il opresc sa fac o pauza si apoi sa ii dai drumul din nou. Ideea este ca el se aude, la i==5 se opreste dar la i==9 nu mai se aude desi se ajunge in functia play(). Oare unde gresesc? Daca nu reusiti sa gasiti eroarea as fi recunoscator daca as primi un cod care merge.
Ultima editare efectuată de Deliverance pe 26 Jan 2008 14:04:30; 1 editări în total
Status:
Înregistrat pe: 13 Oct 2006 10:05:37
Vârsta: 25 ani
Mesaje: 253
Locatie: Iasi , Romania Programator
Postat la 26 Jan 2008 14:49:11Subiect: < fara subiect >
Din cate am vazut, codul tau nu ii zice lui OpenAL sa opreasca sunetul pe niciunde. Tot ce faci tu la Sound.Stop e sa setezi stopped pe true. Apoi, la Update(), afiseaza ca e oprit si atat. Probabil ca, la cat de mic e oggul de test, il incarca pe tot odata sau o mare parte din el, deci nu iti dai seama ca ramane fara date (pentru ca daca e stopped==true iese direct din Update() si nu mai face nici streaming).
LE: Sunt pe linux acum si nu ma mai chinui sa-l fac sa compileze. Poate mai pe seara incerc ceva.
Ultima editare efectuată de Rimio pe 26 Jan 2008 14:49:46; 1 editări în total
If at first you don't succeed, you fail.
Status:
Înregistrat pe: 24 Mar 2007 21:50:44
Vârsta: 23 ani
Mesaje: 800
Locatie: Pitesti, Arges Programator