|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Wed Sep 09, 2009 1:13 pm Post subject: Playlist |
|
Vai ir kādas idejas attiecībā uz playlist veidošanu ar irrklang?
Vajag tā, lai beidzoties vienai dziesmai, sāk skanēt nākamā u.t.t. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Sep 09, 2009 1:20 pm Post subject: |
|
Nesaprotu, kur ir problēma. Pseidokodā: Code: | void onSongHasEnded()
{
playNextSong();
} | Attiecīgās funkcijas/eventus skaties irrKlang dokumentācijā - tur viss ir skaidri uzrakstīts. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Wed Sep 09, 2009 1:31 pm Post subject: |
|
Ja tas būtu tik vienkārši, tad varbūt parādi arī to īsto kodu c++? _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
gazz
Joined: 03 Jan 2004 Posts: 355 Location: Teika
|
Posted: Wed Sep 09, 2009 2:00 pm Post subject: |
|
jau atkal prasi lai visu ar karotiiti iebaro. pietika ar divaam minuuteem lai atrastu dokumentaacijaa
Quote: |
virtual ISound* irrklang::ISoundEngine::play2D ( const char * soundFileName,
bool playLooped = false,
bool startPaused = false,
bool track = false,
E_STREAM_MODE streamMode = ESM_AUTO_DETECT,
bool enableSoundEffects = false
)
Returns:
Only returns a pointer to an ISound if the parameters 'track', 'startPaused' or 'enableSoundEffects' have been set to true. Note: if this method returns an ISound as result, you HAVE to call ISound::drop() after you don't need the ISound interface anymore. Otherwise this will cause memory waste. This method also may return 0 altough 'track', 'startPaused' or 'enableSoundEffects' have been set to true, if the sound could not be played.
|
tad paskatoties ko taa ISound piedaavaa, dokumentaacijaa mums skaidri un gaishi ir defineetas metodes:
Quote: |
virtual ik_u32 getPlayLength ()=0
returns the play length of the sound in milliseconds.
virtual ik_u32 getPlayPosition ()=0
returns the current play position of the sound in milliseconds.
...
virtual bool isFinished ()=0
returns if the sound has finished playing.
|
tieshi cik gruuti ir no shii izlobiit nepiecieshamo lai vareetu speeleet dziesmas playlistaa?!?
PS - un es nekad taadu irrklang nebiju lietojis un skatiijies |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Sep 09, 2009 2:04 pm Post subject: |
|
Periodiski čekot isFinished/getPlayPosition nav prātīgi.
Prātīgāk ir izmantot eventus (kurus atrast dokumentācijā arī neprasa vairāk par tām pašām 2 minūtēm) - Using Sound Events. Ar visu gatavu koda piemēru (un īstu C++)!!!
Code: | class MySoundEndReceiver : public irrklang::ISoundStopEventReceiver
{
public:
virtual void OnSoundStopped (irrklang::ISound* sound, irrklang::E_STOP_EVENT_CAUSE reason, void* userData)
{
// called when the sound has ended playing
printf("sound has ended");
}
}
// ...
MySoundEndReceiver* myReceiver = new MySoundEndReceiver();
irrklang::ISound* snd = engine->play2D("speech.mp3", false, false, true);
if (snd)
snd->setSoundStopEventReceiver(myReceiver);
myReceiver->drop(); // similar to delete |
Tā ka Read The Fine Manual.
Quote: | PS - un es nekad taadu irrklang nebiju lietojis un skatiijies |
Es arī. |
|
Back to top |
|
|
gazz
Joined: 03 Jan 2004 Posts: 355 Location: Teika
|
Posted: Wed Sep 09, 2009 2:08 pm Post subject: |
|
Quote: |
Periodiski čekot isFinished/getPlayPosition nav prātīgi.
Prātīgāk ir izmantot eventus
|
tas gan tiesa, acumirklii nepamaniiju. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Wed Sep 09, 2009 2:14 pm Post subject: |
|
Nu vienīgais, kas reāli der, ir funkcija isFinished() un viss.
Tev bij viegli, jo tu zini, ko un kur meklēt.
Katrai lietai ir vairāki risinājumi un, ja ir idejas, tad var padalīties, tā vietā, lai norādītu uz negribēšanu un slinkumu.
Tā dēļ jau ir forums, lai prasītu, ko nezin.
Nav jēgas no dokumentācijas, ja nezinu ko kur meklēt. Un irrklang doc jau nu noteikti nav tā labākā meklēšanai.
Bāc, bubu jau paspēja. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Sep 09, 2009 2:31 pm Post subject: |
|
EDDY wrote: | Nu vienīgais, kas reāli der, ir funkcija isFinished() un viss.
Tev bij viegli, jo tu zini, ko un kur meklēt. |
Kā es zinu? Pirmo reizi mūžā irrKlang manuāli atvēru. (tāpat arī gazz)
Quote: | Nav jēgas no dokumentācijas, ja nezinu ko kur meklēt. |
Kā tu nezini? Tu ļoti zini - kā pārbaudīt vai skaņa/mūzika ir beigusies. Atliek atvērt un izlasīt kaut tikai pirmo lapu, kurā viss jau bija (tas koda gabals + tā apraksts).
Quote: | Un irrklang doc jau nu noteikti nav tā labākā meklēšanai. |
Man gan irrKlang šķiet ļoti viegli saprotama un meklējama. Tu vari neticēt, bet ir daudz drausmīgākas dokumentācijas. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Wed Sep 09, 2009 3:13 pm Post subject: |
|
Nē, bubu, tām zināšanām nav nekāda sakara ar irrklang.
Ja tu mācētu darboties ar 20 modelinga programmām, tad skaidrs, ka 21. tev būtu pašsaprotama, pat nelasot helpu.
Tāpat ar helpiem, jo tu tos procesus izproti daudz labāk.
bet nu labi, norakstīsim šo lietu uz manu slinkumu un egoismu.
Paldies! _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Wed Sep 09, 2009 3:26 pm Post subject: |
|
Quote: | Ja tu mācētu darboties ar 20 modelinga programmām |
Nav runa par mācēšanu vai nemācēšanu, bet par vienkāršu vārdnīcas un pamācības lietošanu. dictionary.site.lv .
Kaut gan pat to nevajag, tik vienkāršiem vārdiem...
keywordi: start/play, sound, end/stop/finish, (callback/event).
Saprastu vēl, ja tu kaut ko sarežģītāku meklētu, kur tikai reti lietotus sinonīmus keyword'iem (kurus tu nezinātu) spēj pielietot, lai atrastu to, ko tev vajag. Bet te... _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Thu Sep 10, 2009 2:43 pm Post subject: |
|
Patiesībā nestrādā man tas helps, kas ir atrodams tajā pakā.
Laikam krievu XP pie vainas.
Tavā piemērā, bubu, neredzu kā tiek pasniegts otrs fails.
Problēma ar meklēšanu slēpjas tur, ka es varbūt nezinu, ka jāmeklē isFinished funkcija.
Būs jāpameklē offline helps.... _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Thu Sep 10, 2009 3:27 pm Post subject: |
|
EDDY, ja dokumentācija nav šausmīga, atradīsi savu isFinished pēc tiem keyword'iem, ko nosaucu (izņemot "play" un līdzīgos keywordus).
Un tā nav šausmīga. _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
gazz
Joined: 03 Jan 2004 Posts: 355 Location: Teika
|
Posted: Thu Sep 10, 2009 3:35 pm Post subject: |
|
dokumentaacijaa visu parametru un atgriezto veertiibu tipi ir linki uz to definiicijaam kur ISound ir ar mazaak par 30 funkcijaam kuraam paari paarbraucot arii atradiisi iisto. un kaa tiek pasniegts otrs fails?!?!??!??!?!? nu baac - un kaa vispaar kaut kas saak skaneet? |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Sep 10, 2009 6:05 pm Post subject: |
|
Ja godīgi - tad wtf? |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Fri Sep 11, 2009 7:22 am Post subject: |
|
Problēma ir tur, ka nepietiks ar vienu mūzikas failu.
Rakstām:
Code: |
class MySoundEndReceiver : public irrklang::ISoundStopEventReceiver
{
public:
virtual void OnSoundStopped (irrklang::ISound* sound, irrklang::E_STOP_EVENT_CAUSE reason, void* userData)
{
// called when the sound has ended playing
printf("sound has ended");
}
}
// ...
MySoundEndReceiver* myReceiver = new MySoundEndReceiver();
irrklang::ISound* snd = engine->play2D("speech.mp3", false, false, true);
irrklang::ISound* nex = engine->play2D("Next.mp3", false, false, true);
if (snd) snd->setSoundStopEventReceiver(myReceiver);
if (nex) nex->setSoundStopEventReceiver(myReceiver);
myReceiver->drop(); // similar to delete
|
ŠĀDI?
Tas kaut kā nesakrīt ar tevis, bubu, sākumā ieteikto pseidokodu.
Ja man ir 10 faili, tad ko nu?
Katram liksi aizliegumu, vai kā?
Būs jāpameklē citos forumos. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|