Forum » » Création-Développement » » question multiview
Posté : 18-10-2012 20:17
Bah j'ai pas noté mais pour savoir faut que j'arrive à le refaire planter. Mais je pense que je devais pas libérer le signal comme il faut ou ... une connerie dans le style..
void?DELoadSound(?char?*szFilename,?int?iID?){
//??ULONG?res;
//??uint32?longueur?;
??if?(?iID?>?0?){
????if?(?iID?257?){
??????if?(?DESoundExist(?iID?)?==?0?){
????????if(?DEFileExist(?szFilename?)?==?TRUE?){
??????????AESound[?iID?].ObjectPTR?=?IDataTypes->NewDTObject(?(STRPTR)szFilen ame,
????????????????????????????????????????????????????????????????DTA_GroupID,? GID_SOUND,
????????????????????????????????????????????????????????????????SDTA_Volume,? (uint16)64,
????????????????????????????????????????????????????????????????TAG_END?);
??????????if?(?AESound[?iID?].ObjectPTR?!=?NULL??){
????????????AESound[?iID?].Exist?=?TRUE;
????????????AESound[?iID?].Loop?=?FALSE;
????????????AESound[?iID?].Playing?=?FALSE;
????????????AESound[?iID?].Audio3D?=?0?;?//?This?sound?IS?NOT?a?3D?Audio?soun d.
????????????AESound[?iID?].FileName?=?LCreateString(?256?);
????????????LCopyString(?szFilename,?AESound[?iID?].FileName?);
???????????}
?????????}
???????}
?????}
???}
?}
void?DEPlaySound(?int?iID?){
??struct?dtTrigger?mydtt;
??struct?VoiceHeader?*vh?=?NULL?;
??if?(?DESoundExist(?iID?)?==?1?){
????if?(?AESound[?iID?].Playing?>?0?){
??????DEStopSound(?iID?);
?????}
????mydtt.MethodID?????=?DTM_TRIGGER;?/*?Fill?in?the?dtTrigger?struct?*/
????mydtt.dtt_GInfo????=?NULL;
????mydtt.dtt_Function?=?STM_PLAY;
????mydtt.dtt_Data?????=?NULL;
????#if?defined(?__amigaos4__?)
????????AESound[?iID?].res?=?IDataTypes->GetDTAttrs(?AESound[?iID?].ObjectPTR ,
???????????????????????????????????????????????????SDTA_SampleLength,?&AESoun d[?iID?].longueur,
???????????????????????????????????????????????????SDTA_VoiceHeader,?&vh,
???????????????????????????????????????????????????TAG_END?);
?????#else
????????AESound[?iID?].res?=?GetDTAttrs(?AESound[?iID?].ObjectPTR,
???????????????????????????????????????SDTA_SampleLength,?&AESound[?iID?].lon gueur,
???????????????????????????????????????SDTA_VoiceHeader,?&vh,
???????????????????????????????????????TAG_END?);
?????#endif
????AESound[?iID?].vh?=?vh;
????AESound[?iID?].samplesParSec?=?(int)vh->vh_SamplesPerSec;
????AESound[?iID?].duree?=?(50?*?AESound[?iID?].longueur?)/?AESound[?iID?].sa mplesParSec;????/*?50?ticks/sec??*/
????AESound[?iID?].dores?=?IDataTypes->DoDTMethodA(?AESound[?iID?].ObjectPTR, ?NULL,?NULL,?&mydtt?);
????AESound[?iID?].Playing?=?1;
???}
?}
Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=1380&forum=14