47 lines
731 B
ObjectPascal
47 lines
731 B
ObjectPascal
{$H1536}
|
|
program pcmtest;
|
|
uses pcmaudio;
|
|
|
|
var filename:string;
|
|
buf:SndBufPtr;
|
|
f:file;
|
|
size:integer;
|
|
i:integer;
|
|
c:char;
|
|
sampleRate:integer;
|
|
err:integer;
|
|
begin
|
|
if ParamCount > 0 then
|
|
filename := ParamStr(1)
|
|
else
|
|
begin
|
|
write('Filename> ');
|
|
readln(filename);
|
|
end;
|
|
|
|
err := 1;
|
|
if ParamCount > 1 then
|
|
val(ParamStr(2),sampleRate, err);
|
|
|
|
if err <> 0 then
|
|
sampleRate := 16000;
|
|
|
|
open(f, filename, ModeReadOnly);
|
|
size := FileSize(f);
|
|
new(buf, size);
|
|
|
|
buf^ := '';
|
|
write('Reading ', size, ' bytes...');
|
|
for i := 1 to size do
|
|
begin
|
|
read(f,c);
|
|
AppendChar(buf^,c);
|
|
end;
|
|
writeln;
|
|
|
|
close(f);
|
|
|
|
PlaySample(buf, sampleRate);
|
|
|
|
dispose(buf);
|
|
end.
|