Hollosi Information eXchange /HIX/
HIX CODER 178
Copyright (C) HIX
1998-08-03
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: DOS-bol win clipboard elerese? (mind)  8 sor     (cikkei)
2 DirectSound??? (mind)  69 sor     (cikkei)

+ - Re: DOS-bol win clipboard elerese? (mind) VÁLASZ  Feladó: (cikkei)

Bocsika, de ez ma mar nem olyan nagy szam. Tudja a DOS Navigator es a
4DOS is. (Rendszeresen ossze is szoktam keverni, hogy melyik tudja helyesen
konvertalni az ekezetes betuket. A DOS Navigator tudja, a 4DOS nem.)
  Tenyleg: hogy lehet megcsinalni? En is orulnek a leirasnak, foleg ha
megszakitasok hivasaval megoldhato.


La'ng Attila D.  >  (latom az ekezeteket)
+ - DirectSound??? (mind) VÁLASZ  Feladó: (cikkei)

Hello Coderek!

Kis problemam van. Ha valaki ert a directsound-hoz az segitsen!!!

Feleadat:
Win95, Delphi 3 amibol meg kene szolaltatni hangokat memoriabol. Van hozza
SDK-m amibe szep kis mintaprogramok vann igaz C-ben de nem nagy ordongosseg
atirni Delphi-re de valamiert megsem jo. A helpet is bongesztem de ott is
csak azok vannak amit en is bekapcsoltam de valamit megse vagy nem jol mert
egy arvahang sem jon ki az egeszbol.

Szoval a program igy nez ki nagyjabol: /Igy nem fut csak osszevagtam/
Ja az eredmenyeket check-elem sehol semmi hiba csak itt kihagyom a levelbol
ne legyen olyan hosszu.

var
  DSound1: IDirectSound = Nil;
  SoundBuffer: IDirectSoundBuffer=Nil ;

{DirectSound objectum letrehozasa}
  DirectSoundCreate(nil, DSound1, nil);
  DSound1.SetCooperativeLevel(Application.Handle, DSSCL_NORMAL);
-------------
var
  WaveFormat: TWaveFormatEx ;
  BufferDesc: DSBUFFERDESC ;

{A SoundBuffer letrehozasa}
  ZeroMemory ( @WaveFormat, sizeof ( WaveFormat ) ) ;
  WaveFormat.wFormatTag := WAVE_FORMAT_PCM ;
  WaveFormat.nChannels := 2 ;
  WaveFormat.nSamplesPerSec := 22050 ;
  WaveFormat.nAvgBytesPerSec := 22050 * 4 ;
  WaveFormat.nBlockAlign := 4 ;
  WaveFormat.wBitsPerSample := 16 ;

  ZeroMemory ( @BufferDesc, sizeof ( BufferDesc ) ) ;
  BufferDesc.dwSize := sizeof ( DSBUFFERDESC ) ;
  BufferDesc.dwFlags := DSBCAPS_STATIC + DSBCAPS_CTRLDEFAULT ;
  BufferDesc.dwBufferBytes := 44100 ;
  BufferDesc.lpwfxFormat := @WaveFormat ;

  DSound1.CreateSoundBuffer ( BufferDesc, SoundBuffer, nil );
-----------
var
  BufSize1,BufSize2 : DWord;
  Buffer1Ptr, Buffer2Ptr: ^Byte;
{Buffer feltoltese veletlen adatokkal}
  SoundBuffer.Lock ( 0, 44100, Pointer(Buffer1Ptr), BufSize1,
Pointer(Buffer2Ptr), BufSize2, 0 ) ;
  for t:=0 to 44100 do
    begin
      Buffer1Ptr^[t] := Random(256);
    end;
  SoundBuffer.Unlock ( Pointer(Buffer1Ptr), BufSize1, Pointer(Buffer2Ptr),
BufSize2 ) ;
------------
  SoundBuffer.Play(0,0,0);
------------
  SoundBuffer.Release;
  DSound1.Release;

Ja a Delphi-hez kiadtak a DirectX- Header-eket tehat biztos hogy jo csak En
nem allitok be valamit.
Ha barki tud segitsen vagy mar van tapasztalata az ilyesmiben. Meg ha nem
is erti a fenti kodot de tudja elmeletben hogyan kell az is irjon. Koszonom!

Udv,
		Moonlight.

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS