AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte The Old-Style-Music-PLAY-Function
Thema durchsuchen
Ansicht
Themen-Optionen

The Old-Style-Music-PLAY-Function

Ein Thema von himitsu · begonnen am 11. Nov 2009 · letzter Beitrag vom 19. Nov 2009
Antwort Antwort
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#1

Re: The Old-Style-Music-PLAY-Function

  Alt 11. Nov 2009, 14:44
Zitat von Teekeks:
die Unit crt gibts bei TurboPascal ^^
Ganau.

Zitat:
aber ich glaub das "Beep" laß ich auch mit drinnen.
Na das hoff ich doch.

PS.: Crt.pas

Das hilft aber nichts. Ab Win NT bekommt man keine Zugriffsrechte auf den Speakerport.
Wenn man dos nimmt ist das kein Problem.

Früher bei Win95 & Co ging das so:
http://www.delphi3000.com/articles/article_3766.asp
http://delphi.about.com/cs/adptips20...ltip0303_3.htm

Delphi-Quellcode:
Program Wave_To_Speaker;

uses
  dos, crt, ssystem;

type
  WavHdr = record
    riff : array[1..4] of char;
    fsize : longint;
    wave : array[1..4] of char;
    fmt : array[1..4] of char;
    info16 : longint;
    info1 : integer;
    channel : integer;
    sampfreq: longint;
    bytesec : longint;
    bytesamp: integer;
    sampbit : integer;
    data : array[1..4] of char;
    seqsize : longint;
  end;

const
  max = 64000;

var
  buf : array [0..max] of byte;
  fh : file of byte;
  res, leng : word;
  n : word;
  hdr : wavhdr;

procedure PlayPuffer;
var i: Word;
begin
  for i:=0 to leng do
  begin
    {if buf[i] > 128 then sound(hdr.sampfreq); nosound;}
    if buf[i] > 128 then sound(hdr.sampfreq + buf[i])
      else nosound;
    delay(1);
  end;
  nosound;
end;

procedure readfile(filename: string; WaveInfo: Boolean);
begin
  assign(f, filename);
  reset(f,1);
  blockread(f, hdr, sizeof(hdr), res);
  leng := hdr.seqsize;
  if leng > max then
  begin
    leng := max;
    Writeln('File to long!');
    Writeln('Datei wurde von ', hdr.seqsize,' Byte auf ', leng,' Byte gekuerzt.');
  end;
  blockread(f, buf, leng, res);
  Writeln(res, ' Byte gelesen!');
  close(f);

  if WaveInfo then
  begin
    writeln('Dateiname : ',FileName);
    writeln('ID1 : ',hdr.riff);
    writeln('FileSize : ',hdr.fsize);
    writeln('ID2 : ',hdr.wave);
    writeln('ID3 : ',hdr.fmt);
    writeln('ID4 : ',hdr.info16);
    writeln('PCM-Format : ',hdr.info1);
    writeln('Kan„le : ',hdr.channel);
    writeln('Sampelrate : ',hdr.sampfreq);
    writeln('Byte pro Sec.: ',hdr.bytesec);
    writeln('Byte-Sample : ',hdr.bytesamp);
    writeln('Bit-Sample : ',hdr.sampbit);
    writeln('ID5 : ',hdr.data);
    writeln('SeqSize : ',hdr.seqsize);
  end;

end;


BEGIN
  ClrScr;
  readfile('D:\Wuhu.wav', true);
  PlayPuffer;
END.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz