Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako rjesiti ovaj problem sa zvukom

[es] :: GameDev - Razvoj Igara :: Kako rjesiti ovaj problem sa zvukom

[ Pregleda: 3901 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
*.so.pttrs.net.



+1 Profil

icon Kako rjesiti ovaj problem sa zvukom16.08.2005. u 15:42 - pre 210 meseci
Koristim openGL (C++) i sledeci kod za pustanje zvuka u aplikacijama.
Code:
#pragma comment(lib,"winmm.lib");

I ovo je osnovna funkcija.
Code:
PlaySound("Sound/atmos.wav",NULL,SND_ASYNC);


E sve to radi, samo ima jedan bitan problem koji ne znam da rijesim ,a to je kada se pokrene neki novi zvuk postojeci se zaustavi.
Tako da nemogu u isto vrijeme imati recimo backgroun zvuk i zvuk ostalih dijelova igre, recimo pucanj, govor itd.
Nego kada ja pritisnem recimo spacebar za pucanj on pokrene odgovarajuci zvuk, ali stopira sve ostale.
E ako neko zna kako da ovo rijesim ...
 
Odgovor na temu

biotech
ChemNinja
www.surrealtalesthegame.com |
www.chemninja.com

Član broj: 18355
Poruke: 1367
*.83.beocity.net.

Jabber: mpx220@elitesecurity.org
ICQ: 243403453
Sajt: www.chemninja.com


+5 Profil

icon Re: Kako rjesiti ovaj problem sa zvukom16.08.2005. u 16:54 - pre 210 meseci
moj ti je savet da probas nesto drugo kao npr fmod,bass ili audiere.wav-ovi su veliki za igrice,koristi nesto kao ogg ili mp3.ako bas moras da koristis ovo onda pokusaj da pronadjes dokumentaciju.
hint: probaj ima li nesto kao SND_SYNC...

imam utisak da radis sve nesto na brzinu a najbitnije je da shvatis.
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Kako rjesiti ovaj problem sa zvukom16.08.2005. u 17:26 - pre 210 meseci
SND_SYNC će da mu blokira celu aplikaciju dok se zvuk ne izvrši.Predlažem korišćenje DirectX-a, tačnije DirectSoud-a sa kojium ćeš moći sa zvukom da radiš šta god hoćeš.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
*.so.pttrs.net.



+1 Profil

icon Re: Kako rjesiti ovaj problem sa zvukom16.08.2005. u 18:22 - pre 210 meseci
Da pokusavao sam sa SND_SYNC, al blokada.
Ajd pokusat cu sada sa gore navedenim liboviam, za ovaj bass sam jos negdje cuo.
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
195.252.89.*



Profil

icon Re: Kako rjesiti ovaj problem sa zvukom16.08.2005. u 23:18 - pre 210 meseci
http://audiere.sourceforge.net/

Citat:

Audiere is a high-level audio API. It can play Ogg Vorbis, MP3, FLAC, uncompressed WAV, AIFF, MOD, S3M, XM, and IT files. For audio output, Audiere supports DirectSound or WinMM in Windows, OSS on Linux and Cygwin, and SGI AL on IRIX.

Audiere is open source and licensed under the LGPL. This means that you may freely use Audiere in commercial products, as long as you do not modify the source code. If you do modify Audiere and release a product that uses your modifications, you must release your changes to the code under the LGPL as well.

Audiere is portable. It is tested on Windows, Linux-i386, Cygwin, and IRIX with at least three major compilers. Most of Audiere is endian-independent, so I expect it would work with few modifications on other architectures.


yooyo
 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
*.so.pttrs.net.



+1 Profil

icon Re: Kako rjesiti ovaj problem sa zvukom16.08.2005. u 23:27 - pre 210 meseci
Zahvaljujem yooyo, izgleda da je ovo prava stvar.
 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
*.so.pttrs.net.



+1 Profil

icon Re: Kako rjesiti ovaj problem sa zvukom16.08.2005. u 23:44 - pre 210 meseci
Ipak sam se odlucio na FMOd, mnogi kazu da je odlican, a prema nekoj dokumentaciji koju sam do sada procitao, odlican je.
Evo link, ako kome treba:
http://www.softpedia.com/progDownload/Fmod-Download-4572.html
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
195.252.89.*



Profil

icon Re: Kako rjesiti ovaj problem sa zvukom17.08.2005. u 00:07 - pre 210 meseci
http://www.fmod.org/ pa klikni na Licence i citaj...

Ukratko... ako pravis free program onda je fmod free, ali ako pravis komercijalan, onda kosta neke pare. Obrati paznju na Shareware, hobbyist agreement i na MP3 Licensing issues.

yooyo
 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
*.so.pttrs.net.



+1 Profil

icon Re: Kako rjesiti ovaj problem sa zvukom17.08.2005. u 01:08 - pre 210 meseci
Da vidio sam to, poslije, pa za sada i planiram da radim free, al' sto se tice komercijale, ovo ipak mora da otpadne jer su cijene za nase uslove astronomske.
 
Odgovor na temu

biotech
ChemNinja
www.surrealtalesthegame.com |
www.chemninja.com

Član broj: 18355
Poruke: 1367
*.83.beocity.net.

Jabber: mpx220@elitesecurity.org
ICQ: 243403453
Sajt: www.chemninja.com


+5 Profil

icon Re: Kako rjesiti ovaj problem sa zvukom17.08.2005. u 12:07 - pre 210 meseci
da,jeste audiere je izgleda najbolje resenje.
 
Odgovor na temu

Buffy
Stanko Culaja
Sipovo, BiH

Član broj: 45310
Poruke: 312
*.teol.net.



Profil

icon Re: Kako rjesiti ovaj problem sa zvukom17.08.2005. u 14:32 - pre 210 meseci
mozes koristiti i openAl
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
*.pat-pool.bgd.sbb.co.yu.



Profil

icon Re: Kako rjesiti ovaj problem sa zvukom17.08.2005. u 14:43 - pre 210 meseci
Dobar je OpenAL, ali je mnogo ogranicen i sporo se razvija. Za razliku od audiere-a ima podrsku za 3d zvuk, ali pusta samo wav (nova verzija bi trebalo da moze da podrzava ogg) i nezna da strimuje sa diska, nego sve reprodukuje iz memorije. Workaround za streaming je da se napise thread koji ce povremeno da napuni OpenAL sa novim informacijama.

yooyo
 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
*.so.pttrs.net.



+1 Profil

icon Re: Kako rjesiti ovaj problem sa zvukom17.08.2005. u 17:32 - pre 210 meseci
Pa da za komercijalu je ipak Audiere pravi izbor, al' za free fmod je veoma mocna alatka.
 
Odgovor na temu

mloh2
Zoran Stupic
BG

Član broj: 62103
Poruke: 24
*.beotel.net.



Profil

icon Re: Kako rjesiti ovaj problem sa zvukom18.08.2005. u 10:42 - pre 210 meseci
OpenAl takodje pravi probleme na nekim zvucnim kartama. Ovih dana sam ga zamenio sa audiereom...
 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
*.so.pttrs.net.



+1 Profil

icon Re: Kako rjesiti ovaj problem sa zvukom18.08.2005. u 13:39 - pre 210 meseci
Mloh2 kakva su ti iskustva sa Audiereom!
 
Odgovor na temu

mloh2
Zoran Stupic
BG

Član broj: 62103
Poruke: 24
*.beotel.net.



Profil

icon Re: Kako rjesiti ovaj problem sa zvukom24.08.2005. u 09:59 - pre 210 meseci
Izuzetno lako se koristi. Dovoljno je da samo pogledas readme koji ide sa njime i u par linija koda pustas ogg/wav. Lepo je sto se i sam ocisti iz memorije, pa ne moras nista da "destruktujes". Ball7 i Napad su imali problem na nekim masinama jer openal negde jednostavno odbija saradnju. Audiere na tim istim masinama sljaka. Rekao bih da je mnogo vise kompatibilan od openal-a. Svidja mi se sto za novu igru umesto wav-ova za zvucne efekte lepo mogu da koristim ogg, tako da ce download biti jos manji.

evo i nesto malo koda, sve je vrlo prosto:

Klasa se zove woodland jer pusta zvukove shume u pozadini... :)


Ovo je naravno zaglavlje....

#ifndef _CWOODLAND_H_
#define _CWOODLAND_H_

#include <audiere.h>

using namespace audiere;

class cWoodLand {
public:
cWoodLand(void);
void SetGain(float new_gain);
private:
AudioDevicePtr DEVICE;
OutputStreamPtr STREAM;
};


#endif

implementacija:

#include "cWoodLand.h"

cWoodLand::cWoodLand(void)
{
DEVICE=OpenDevice();

STREAM=0; // ;) za svaki slucaj

STREAM=OpenSound(DEVICE,"shuma/nature01.ogg", true);
if(STREAM) {
STREAM->setRepeat(true); // muzika u krug :)
STREAM->play(); // sviraj
STREAM->setVolume(1.0f);// glasnost :)
}

}

// ovom metodom kontrolises glasnost :))
void cWoodLand::SetGain(float new_gain)
{
STREAM->setVolume(new_gain);
}

i to je sve da pustis ogg da svira...

naravno za stream imas i metode stop i reset pogledaj audiere.h...

pozdrav
mloh(2)
 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
*.so.pttrs.net.



+1 Profil

icon Re: Kako rjesiti ovaj problem sa zvukom24.08.2005. u 12:17 - pre 210 meseci
Ok, ja sam trenutno na FMOD-u fenomenalan je, a lagan za koriscenje, posto je free za besplatan softver.
 
Odgovor na temu

a1200

Član broj: 28980
Poruke: 200
*.bg.wifi.vline.verat.net.



+744 Profil

icon Re: Kako rjesiti ovaj problem sa zvukom13.11.2005. u 03:02 - pre 207 meseci
OpenAL moze da streamuje sa diska OGG file-ove samo treba koristiti Source Queue i Ogg Vorbis lib-ove. Nije potrebno cele Ogg-ove ucitavati u memoriju.

OpenAL radi na svim karticama, a koriste ga Quake 4 i mnoge druge AAA igre. Ima podrsku za EAX. Ono sto treba da se zna, je da ne mozete tek tako da pustate zvukove u ne ogranicenoj kolicini. OpenAL koristi hardware i samim tim je limitiran u zavisnosti od hardvera na kome radi...

Sto znaci sledece, jedna karta mozda moze da pusta 256 zvukova odjednom (3D source-ova), kao na primer Avance AC97 koju imam integrisanu igrom slucaja, dok recimo neka druga samo 64 ili 32 ili 16... sto stvara problem, jer mora da se napise priority wrapper preko OpenAL-a, koji ce da da detektuje koliko source-ova podrzava karta i izbacuje sa liste one source-ove sa nizim prioriteom i reinicijalizuje ih sa trenutno potrebnim hi-priority... da bi se uvek culi zvukovi koji su potrebniji od nekih drugih (recimo vrisak playera je visok priority, dok je koracanje nizeg prioriteta)

Kad se sve to napise, sve perfektno radi. Ima gomilu opcija koje rade veoma prosto i dostupno tipa:
alSourcef(dropshipData.sndSourceID, AL_PITCH, 1.1f);

koja menja pitch loopabilnog sample-a motora dok se on pusta na zvucnicima. Takodje isto vazi i za promenu pozicije, vektora brizine (za dopplerov effekat) i ostalog. Iako mozda prost u interface-u daleko je od neupotrbljivog ili ogranicenog. Toplo preporucujem OpenAL.

[Ovu poruku je menjao a1200 dana 13.11.2005. u 04:30 GMT+1]
 
Odgovor na temu

mjolnir

Član broj: 31754
Poruke: 10
*.matf.bg.ac.yu.



Profil

icon Re: Kako rjesiti ovaj problem sa zvukom23.11.2005. u 10:10 - pre 207 meseci
OpenAL? http://www.devmaster.net/articles.php?catID=6
 
Odgovor na temu

[es] :: GameDev - Razvoj Igara :: Kako rjesiti ovaj problem sa zvukom

[ Pregleda: 3901 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.