www.wikidata.uk-ua.nina.az
OpenAL Open Audio Library krosplatformovij prikladnij programnij interfejs API dlya roboti z audiodanimi Rozroblyavsya dlya efektivnoyi vzayemodiyi z bagatokanalnim zvukom u trivimirnomu prostori Ranni versiyi OpenAL mali vidkritij pochatkovij kod odnak bilsh pizni reviziyi ye vlasnickim programnim zabezpechennyam OpenALTip Prikladnij programnij interfejsAvtor Loki SoftwareRozrobnik Creative TechnologyStabilnij vipusk 2 0 7 0 3 chervnya 2009 14 rokiv tomu 2009 06 03 Operacijna sistema 15 operacijnih sistemMova programuvannya C 1 Licenziya BSD u rannih versiyah 2 LGPL do v1 1 vlasnicke vid v1 1Vebsajt www openal org Zmist 1 Istoriya 2 Struktura ta funkcionalnist 3 Vidminnosti mizh OpenAL 1 0 ta OpenAL 1 1 4 Rozshirennya efektiv EFX 5 Priklad vikoristannya OpenAL 5 1 Pochatok roboti 5 2 Inicializaciya 5 3 Deinicializaciya 5 4 Zavantazhennya zvukovogo fajlu 5 5 Keruvannya vidtvorennyam zvuku 6 Pidtrimuvani platformi 7 Zastosunki sho vikoristovuyut OpenAL 7 1 Igri 7 2 Inshi dodatki 8 Realizaciyi 9 Dzherela 10 PosilannyaIstoriya RedaguvatiOpenAL buv stvorenij firmoyu Loki Software u 2000 roci yak instrument dlya yih biznesu portuvannya komp yuternih igor z Windows na Linux Pislya togo yak Loki Software pripinila svoye isnuvannya proyekt pevnij chas rozvivavsya silami spilnoti vilnogo programnogo zabezpechennya zokrema bula realizovana pidtrimka chipseta vbudovanogo v zvukovi adapteri ta materinski plati NVIDIA nForce Sogodni kuratorom ta golovnim rozrobnikom proyektu ye Creative Technology Potochnu pidtrimku OpenAL otrimuye vid Apple Blue Ripple Sound ta entuziastiv vilnogo programnogo zabezpechennya 3 Hocha hartiya OpenAL govorit sho proyekt maye mati Naglyadovu radu za arhitekturoyu ARB analogichnu OpenGL ARB prote na sogodni taka organizaciya dosi ne stvorena a specifikaciyi proyektu zatverdzhuyutsya ta obgovoryuyutsya bezposeredno rozrobnikami elektronnoyu poshtoyu ta v zagalnodostupnih zasobah rozsilki Pochinayuchi z versiyi 1 1 realizaciya OpenAL vid Creative Labs maye zakritij pochatkovij kod odnak ostanni relizi pid vilnoyu licenziyeyu zalishayutsya dostupnimi v oficijnomu repozitoriyi Shiroko vikoristovuvanoyu alternativnoyu open source realizaciyeyu ye OpenAL Soft Struktura ta funkcionalnist RedaguvatiBazova funkcionalnist OpenAL realizuyetsya cherez nastupni komponenti pochatkovi ob yekti source objects audiobuferi audio buffers ta yedinij sluhach listener Pochatkovij ob yekt mistit pokazhchik na bufer shvidkist roztashuvannya ta napravlenist zvuku a takozh jogo intensivnist U sluhachi mistitsya shvidkist roztashuvannya ta napravlenist sluhacha a takozh zagalne pidsilennya zvuku Buferi misyat audiodani u formati PCM v 8 bitnomu abo 16 bitnomu predstavleni u mono abo stereo formati Rushij renderingu vikonuye vsi neobhidni obrahunki taki yak viznachennya vidstani efekt Doplera tosho Dlya kincevogo koristuvacha rezultat roboti vsih komponentiv OpenAL daye absolyutno prirodne zvuchannya pri peremishenni personazhiv u trivimirnomu virtualnomu sviti Pri comu rozrobnik mozhe zadiyati OpenAL u svoyij gotovij trivimirnij OpenGL programi majzhe ne dokladayuchi zusil Na vidminu vid specifikaciyi OpenGL specifikaciya OpenAL vklyuchaye v sebe dvi pidsekciyi API yadro sho mistit vikliki funkcij OpenAL ta ALC Audio Library Contex prikladnij interfejs sho vikoristovuyetsya dlya keruvannya kontekstom renderingu vikoristannyam resursiv ta blokuvannyam u krosplatformovomu stili Takozh isnuye biblioteka ALUT sho nadaye visokorivnevi funkciyi yaki sproshuyut vzayemodiyu iz OpenAL analogichno GLUT u OpenGL OpenAL ye rozshiryuvanim Individualni postachalniki mayut zmogu dodavati svoyi vlasni rozshirennya v distributiv OpenAL v bilshosti vipadkiv zadlya zabezpechennya dodatkovoyi funkcionalnosti na svoyemu aparatnomu zabezpechenni sho maye zakriti specifikaciyi Rozshirennya mozhut buti pidvisheni do statusu ARB yakim poznachayutsya rozshirennya yaki budut pidtrimuvatisya dlya zabezpechennya zvorotnoyi sumisnosti ARB rozshirennya mayut shans z chasom potrapiti do yadra OpenAL Dlya skladnishoyi obrobki cifrovih signaliv ta aparatno priskoryuvanih zvukovih efektiv mozhut vikoristovuvatis rozshirennya taki yak EFX Effects Extension abo EAX Environmental Audio Extentions Vidminnosti mizh OpenAL 1 0 ta OpenAL 1 1 RedaguvatiOdniyeyu z vidminnostej versiyi 1 1 stalo dodavannya API priznachenogo dlya zapisu zvuku Recording API Dodana takozh mozhlivist pozicionuvannya vseredini dzherela zvuku za chasom abo za semplami Faktichno skasovana biblioteka ALUT zamist neyi v SDK zaproponovana insha biblioteka na osnovi yakoyi i zrobleni vsi prikladi z SDK Bulo provedeno utochnennya dokumentaciyi dodano dekilka novih modelej obrahunku vidstani do dzherela zvuku dodani novi tipi danih ALchar i ALCchar Teper funkciya alcCloseDevice povertaye znachennya tipu ALCboolean dlya poznachennya uspishnosti operaciyi Odnak najbilsh cikavoyu mozhlivistyu stala pidtrimka zvukovih filtriv i efektiv za dopomogoyu rozshirennya ALC EXT EFX Rozshirennya efektiv EFX RedaguvatiDane rozshirennya dodaye v OpenAL pidtrimku zvukovih filtriv i efektiv dlya vivedenogo zvuku Akuratne vikoristannya danogo rozshirennya dozvolyaye radikalno zminiti zvukovij svit vashoyi programi abo gri Rozshirennya EFX vvodit novu arhitekturu obrobki zvuku v OpenAL Teper do bud yakogo dzherela zvuku mozhna dodati bezposerednij direct filtr zazvichaj vikoristovuyetsya low pass abo high pass filtri tobto filtri sho utvoryuyut visoki abo nizki chastoti Zvuk pislya prohodzhennya cherez bezposerednij filtr vidrazu zh pryamuye do vihidnogo miksheru Krim cogo z yavilasya mozhlivist dlya dzherel zvuku posilati dani pri neobhidnosti z obrobkoyu yih filtrom na dodatkovi kanali vihodu slots Do kozhnogo takogo kanalu mozhna pidklyuchiti pevnij zvukovij efekt sho peretvoryuye zvukovi dani yaki pislya cogo takozh nadhodyat na vihidnij miksher Za rahunok vikoristannya zvukovih filtriv i efektiv stalo mozhlivim modelyuvati zvukove otochennya dlya sluhacha Tak mozhna zadati obrobku zvuku sho modelyuye znahodzhennya sluhacha u pevnomu primishenni U realnomu zhitti podibni efekti otochennya vinikayut za rahunok bagatorazovogo vidbittya i poglinannya a takozh rozsiyuvannya zvuku stinami a takozh pidlogoyu ta steleyu primishennya Tak yaksho dzherelo zvuku znahoditsya vseredini primishennya to budut vidbuvatisya chislenni perevidbivanya zvuku vid stin pidlogi ta steli Pri comu yak rozmir primishennya tak i material z yakogo vigotovleni jogo stini pidlogu ta stelyu budut chiniti silnij vpliv na te yak sprijmayetsya sluhachem rezultuyuchij zvuk Za zadumom rozrobnikiv OpenAL kozhen efekt vidpovidaye pevnomu primishennyu environment a vikoristovuvani filtri dozvolyayut bilsh tochno vrahovuvati osoblivosti poshirennya ta vidbittya zvuku Rizni zvukovi karti pidtrimuyut yak rizne chislo odnochasno pracyuyuchih efektiv tak i rizni tipi efektiv Priklad vikoristannya OpenAL RedaguvatiPochatok roboti Redaguvati Dlya togo shobi rozpochati robotu z OpenAL neobhidno vstanoviti OpenAL SDK ta pidklyuchiti jogo do proyektu include lt al h gt include lt alc h gt include lt alu h gt include lt alut h gt pragma comment lib alut lib pragma comment lib OpenAL32 lib Inicializaciya Redaguvati bool InitializeOpenAL Roztashuvannya sluhacha ALfloat ListenerPos 0 0 0 0 0 0 Shvidkist sluhacha ALfloat ListenerVel 0 0 0 0 0 0 Spryamovanist sluhacha ALfloat ListenerOri 0 0 0 0 1 0 0 0 1 0 0 0 Vidkriti pristrij za umovchannyam pDevice alcOpenDevice NULL Perevirka na pomilki if pDevice ERRMSG Default sound device not present return false Stvorennya kontekstu renderingu pContext alcCreateContext pDevice NULL if CheckALCError return false Zrobiti kontekst potochnim alcMakeContextCurrent pContext Vstanovlennya parametriv sluhacha Roztashuvannya alListenerfv AL POSITION ListenerPos Shvidkist alListenerfv AL VELOCITY ListenerVel Spryamovanist alListenerfv AL ORIENTATION ListenerOri return true Pershim krokom u metodi inicializaciyi vidkrivayetsya zvukovij pristrij zadanij za umovchannyam U sistemah Win32 za umovchannyam vikoristovuyetsya DirectSound Yaksho neobhidno yavno zadati bazhanij pristrij zamist NULL u funkciyu alcOpenDevice peredayetsya ryadok iz nazvoyu pristroyu Nastupnim krokom stvoryuyetsya kontekst yakij vstanovlyuyetsya potochnim tobto aktivnim Usi podalshi operaciyi budut zastosovani tilki dlya potochnogo kontekstu Audio kontekstiv mozhe buti bezlich Dali vidbuvayetsya nalashtuvannya parametriv sluhacha Dlya kozhnogo kontekstu mozhna stvoriti lishe odnogo sluhacha Deinicializaciya Redaguvati void DestroyOpenAL Ochishennya usih buferiv for TBuf iterator i Buffers begin i Buffers end i alDeleteBuffers 1 amp i gt second ID Vimknuti potochnij kontekst alcMakeContextCurrent NULL Znishiti kontekst alcDestroyContext pContext Zakriti zvukovij pristrij alcCloseDevice pDevice Deinicializaciya vidbuvayetsya u zvorotnomu poryadku Spochatku vidalyayutsya usi buferi dali znishuyetsya kontekst i pristrij Zavantazhennya zvukovogo fajlu Redaguvati bool remSnd Open const string amp Filename bool Looped bool Streamed Pereviriti nayavnist fajlu ifstream a Filename c str if a is open return false a close mLooped Looped Stvoriti dzherelo alGenSources 1 amp mSourceID if CheckALError return false alSourcef mSourceID AL PITCH 1 0f alSourcef mSourceID AL GAIN 1 0f alSourcefv mSourceID AL POSITION mPos alSourcefv mSourceID AL VELOCITY mVel alSourcei mSourceID AL LOOPING mLooped Viznachiti rozshirennya fajlu string Ext ExtractFileExt Filename data if Ext WAV return LoadWavFile Filename return false Funkciya Open vidkrivaye fajl z nazvoyu Filename viznachaye jogo tip ta gotuye dzherelo do progravannya danih iz buferu Same dzherelo ne mistit audiodanih a mistit lishe identifikator bufera v yakomu ci dani zberigayutsya Parametr Looped oznachaye sho zvuk bude vidtvoryuvatisya bezkinechno u cikli Parametr Streamed oznachaye sho bude realizovano potokove vidtvorennya Ce neobhidno dlya fonovoyi muziki ta velikih za ob yemom zvukiv Za standartnogo sposobu vidtvorennya vsi audiodani zavantazhuyutsya u bufer i vidtvoryuyetsya zvidti Zavantazhennya velikih za rozmirom audiofajliv u odin bufer ye neracionalnim oskilki na vikonannya ciyeyi operaciyi znadobitsya trivalij chas Atribut mSourceID zberigaye unikalnij identifikator dzherela zvuku sho vikoristovuyetsya za potrebi vzayemodiyi iz cim dzherelom Keruvannya vidtvorennyam zvuku Redaguvati Dzherelo zvuku mozhe perebuvati v odnomu iz chotiroh staniv AL INITIAL AL PLAYING AL PAUSED AL STOPPED Dlya togo shob diznatisya stan dzherela neobhidno viklikati funkciyu alGetSourcei peredavshi yij yak parametr identifikator dzherela Stan AL INITIAL matime dzherelo yake bulo proinicializovano ale she zhodnogo razu ne vidtvoryuvalo zvuku Stani AL PLAYING AL PAUSED AL STOPPED poznachayut vidpovidno vidtvoryuvane prizupinene abo zupinene dzherelo void remSnd Play alSourcePlay mSourceID Play pochinaye vidtvorennya viklikom odniyeyi yedinoyi funkciyi alSourcePlay peredayuchi yij yak parametr identifikator dzherela void remSnd Close alSourceStop mSourceID if alIsSource mSourceID alDeleteSources 1 amp mSourceID Close zupinyaye vidtvorennya i vidalyaye dzherelo po zadanomu identifikatoru void remSnd Stop alSourceStop mSourceID Procedura Stop zupinyaye vidtvorennya zvuku yaksho take malo misce void remSnd Move float X float Y float Z ALfloat Pos 3 X Y Z alSourcefv mSourceID AL POSITION Pos Move ruhaye dzherelo zgidno z novimi koordinatami Pidtrimuvani platformi RedaguvatiOpenAL realizovanij na nastupnih platformah Operacijni sistemi 4 Android cherez OpenSL ES AmigaOS 3 x Bada BlackBerry 10 BlackBerry PlayBook BSD iOS cherez Core Audio IRIX Linux cherez ALSA OSS PortAudio ta PulseAudio Mac OS 8 Mac OS 9 and Mac OS X Core Audio Microsoft Windows cherez DirectSound Windows Multimedia API ta Windows Multimedia Device MMDevice API MorphOS OpenBSD 5 Solaris QNX AROSIgrovi konsoli GameCube PlayStation 2 PlayStation 3 Xbox Xbox 360 Wii PlayStation PortableZastosunki sho vikoristovuyut OpenAL RedaguvatiIgri Redaguvati Za informaciyeyu Creative Labs nastupni videoigri vikoristovuyut OpenAL 0 A D America s Army Amnesia The Dark Descent Armed Assault Battlefield 2 Battlefield 2142 Bioshock Colin McRae DiRT Dead Hungry Diner DiRT 2 Doom 3 Enemy Territory Quake Wars Euro Truck Simulator 2 FlightGear Freedom Fighters Hitman ioquake3 Jedi Knight 2 Jedi Knight 3 Kane amp Lynch 2 Dog Days Kane amp Lynch Dead Men OpenArena Osmos Penumbra Black Plague Postal Prey Psychonauts Quake 4 Race Driver GRID Regnum Online Running With Rifles S T A L K E R Tremulous Unreal II The Awakening Unreal Tournament 2003 Unreal Tournament 2004 Unreal Tournament 3 War ow Warzone 2100 Wolfenstein Wurm Online Inshi dodatki Redaguvati Blender seredovishe dlya trivimirnogo modelyuvannya ta renderingu vikoristovuye OpenAL u vlasnomu vbudovanomu igrovomu rushiyi 3DMark06 igrovij benchmark Dolphin emulyator emulyator Gamecube ta Wii Realizaciyi RedaguvatiOpenAL SI OpenAL Sample Implementation originalna realizaciya vid Loki Software narazi ne pidtrimuyetsya OpenAL Soft OpenAL Soft krosplatformova programna realizaciya sho poshiryuyetsya za LGPL licenziyeyu Rozroblyuyetsya yak sumisna modernizaciya zamina dlya zastariloyi OpenAL SI a takozh yak vilna alternativa narazi propriyetarnoyi OpenAL Pidtrimuye odnokanalne dvokanalne 5 1 6 1 ta 7 1 vivedennya zvuku 6 AeonWave OpenAL Shar emulyaciyi OpenAL sho poshiryuyetsya za LGPL licenziyeyu Golovnoyu perevagoyu ye bilsh doskonale aparatne priskorennya Za slovami avtora obroblyaye AeonWave OpenAL trivimirnij zvuk vid chotiroh na AMD Athlon 64 X2 do semi na Intel Atom N270 raziv shvidshe za OpenAL SI ta OpenAL Soft za odnakovih umov Rapture3D OpenAL Driver Propriyetarna komercijna programna realizaciya avtorstva Blue Ripple Sound priznachena viklyuchno dlya Windows Pozicionuyetsya yak shvidka visokoproduktivna zamina inshim realizaciyam Dzherela Redaguvati The openal Open Source Project on Open Hub Languages Page 2006 d Track Q124688 OpenAL License Arhiv originalu za 30 grudnya 2012 Procitovano 30 travnya 2013 Press release with regards to OpenAL Arhiv originalu za 6 bereznya 2016 Procitovano 30 travnya 2013 OpenAL Platforms Arhiv originalu za 2 chervnya 2013 Procitovano 30 travnya 2013 OpenAL for OpenBSD Arhiv originalu za 18 bereznya 2012 Procitovano 30 travnya 2013 Arhivovana kopiya Arhiv originalu za 20 chervnya 2013 Procitovano 30 travnya 2013 Posilannya RedaguvatiPZ OpenAL Arhivovano 20 chervnya 2013 u Wayback Machine angl Kerivnictvo po roboti z OpenAL angl Otrimano z https uk wikipedia org w index php title OpenAL amp oldid 39806972