pobrałem te programy źródłowe z użyciem BASS, działa mp3 tak jak powinno.
Jeżeli chodzi o przekształcenie tych programów żeby kod był równoważny z tym co podałem w pierwszym poście to chyba będzie to wyglądało jak poniżej, u mnie działa poprawnie:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,BASS, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
procedure Error(msg: string);
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Error(msg: string);
begin
MessageBox(Handle, PChar(msg + #13#10 + '(Error code: ' + IntToStr(BASS_ErrorGetCode) + ')'), 'Error', MB_ICONERROR or MB_OK);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not BASS_ChannelPlay((BASS_StreamCreateFile(False, PChar('C:\kotek.mp3'), 0, 0, 0)), False) then
Error('Error playing stream!');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
if BASS_GetVersion() <> DWORD(MAKELONG(2,1)) then begin
Error('BASS version 2.1 was not loaded!');
Halt;
end;
if not BASS_Init(1, 44100, 0, Handle, nil) then
Error('Error initializing audio!');
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
BASS_StreamFree(BASS_StreamCreateFile(False, PChar('C:\kotek.mp3'), 0, 0, 0));
BASS_Free();
end;
end.