�@�ŋ߁A�g�уv���C���[�̃u�[���ȂǂŘb��̂l�o�R�v���C���[������Ă݂܂��傤�B�l�o�R�Ƃ͊ȒP�Ɍ����Ή����̈��k�`���̎��ł�����A�f�R�[�h��������Đ��o����킯�ł��B����́A�Đ��Ƀt���[�E�G�A�Ƃ��Č��J����Ă���MP3�p���C�u����VBMP3.dll�i(C)������㎁�j�𗘗p���Ă݂܂����B���̃��C�u�������g���ƁA�t�@�C�������w�肷�邾���ŊȒP�ɂl�o�R�t�@�C�����Đ����鎖���o���܂��B
�@�l�o�R�p���C�u����VBMP3.dll�́Adll�Ƃ����`���̃��C�u�����ɂȂ��Ă��܂��Bdll�́AWindows�Ŋ������C�u����������W���I�Ȍ`���ł`�o�h�̎��̂�����dll�̏W���ł��Bdll���g���̂͊ȒP�ŁA�܂����̌^��錾���Ċ���dll�ł��鎖���R���p�C���ɒʒm���邾���Ō�͒ʏ�̊��Ɠ������o�Ŏg�������o���܂��B�܂���̌^�����킩��A�����Ă��̌^�������������o����A�ǂ�Ȍ���ł�dll���̊��𗘗p�o����킯�ł��B���ہA����g��VBMP3.dll�����̖��̒ʂ�ŏ���VisualBasci�p�ł��������̂�VC++�œ���m�F����AVC++�p�̃w�b�_��t���Č��J���ꂽ�悤�ł��B�����āA�����ʼn��߂�Delphi�ł̓�����m�F�ł����킯�ł��ˁB
�@�l�b�g���[�N��ɂ͑��ɂ��֗���dll������������J����Ă��܂�����A���낢���dll�������Ă݂�Ɨǂ��ł��傤�B�����̏ꍇ�Adll�ɂ�C/C++�p�̃w�b�_�����t���Ă��܂��A�w�b�_��h�L�������g�ȂǂŊ��̌`���ׂĎ����Ő錾���鎖��dll��Delphi�ł��g�������o���܂��B�܂��A�ʂ̏ꏊ��Delphi�p�̃w�b�_�����J����Ă���ꍇ������܂��B
BOOL APIENTRY vbmp3_init();
�@���̊��̌^�錾��DLL�錾��Delphi�ōs���ƈȉ��̂悤�ɂȂ�܂��B
function vbmp3_init:Boolean;stdcall;external 'VBMP3';
�@�O����function vbmp3_init:Boolean;�������̂̌^�ł��ˁB����stdcall�͈����̎n���`�����w�肷��u�Ăяo���K��v�Ƃ������̂ŁAdll�ł͒ʏ�stdcall�ɂȂ�܂��B�����āA�Ō��external 'VBMP3'�ŁA���̊���VBMP3.dll���ɂ��鎖��錾����킯�ł��B
�@��x���̐錾�����Ă����A��̓v���O�������Œʏ�̊��Ɠ����悤��vbmp3_init���g�p�ł��܂��B����́A�Ƃ肠�����Đ��������鎖�ɂ��āA�K�v�ɂȂ肻���Ȋ���錾���Ă����܂����B���̐錾�́Aimplementation�߂ōs���܂��B
function vbmp3_init:Boolean;stdcall;external 'VBMP3'; function vbmp3_open(pszName:PChar;pInfo:Pointer):Boolean; stdcall;external 'VBMP3'; function vbmp3_play:Boolean;stdcall;external 'VBMP3'; function vbmp3_free:Boolean;stdcall;external 'VBMP3'; function vbmp3_close:Boolean;stdcall;external 'VBMP3';
�@���O������A��̋@�\�͑z���ł��܂��ˁB�܂��Avbmp3_init�ŏ�����������A�Đ�����t�@�C����open���Aplay����B����ōĐ��ł��܂��B�������A���Ƀt�@�C�����J���Ă��邩������Ȃ��̂ŁAopen�̑O��close���܂��傤�B�A�v���P�[�V�����̏I�����ɂ́Afree�Ń��C�u�������g�p���Ă�����������������܂��B
�@�Ȃ��Avbmp3_open�Ń|�C���^��n���Ă��܂����A����͈ȉ��̌`�̍\���̂̃A�h���X�ł��B���̍\���̂ɂ́A�Đ����Ԃ�Ȗ��Ȃǃt�@�C���Ɋւ��������ė��܂��B
InputInfo=packed record szTrackName:array [0..127] of char; szArtistName:array [0..127] of char; channels:Integer; bitRate:Integer; samplingRate:Integer; totalSec:Integer; end;
�@����̃v���O�����ł́A���̍\���̂��O���[�o���ϐ��Ƃ��ėp�ӂ��A@���Z�q�ō\���̂̃A�h���X��n���悤�ɂ��܂����B
�@�v���O�������N�����āu�J���v�{�^�����N���b�N����ƃt�@�C���I���̃_�C�A���O���o�Ă���̂ŁA�l�o�R�t�@�C����I�����Ă��������B�t�@�C����I������Ƃ��̃t�@�C�����Đ����܂��B�u�J���v�{�^���̃C�x���g�n���h���͈ȉ��̒ʂ�B
procedure TForm1.Button1Click(Sender: TObject); begin if not(OpenDialog1.Execute) then Exit; vbmp3_close; vbmp3_open(PChar(OpenDialog1.FileName),@info); vbmp3_play; end;
�@�Ȃ��A�v���O�����̎��s�ɂ�VBMP3.dll�����s�t�@�C���Ɠ����f�B���N�g���A�܂���Windows�̃V�X�e���f�B���N�g���ɂ����Ă����K�v������܂��B
�@�Ō�ɂȂ�܂������AVBMP3.dll�Ƃ����f���炵�����C�u���������J����Ă����҂̊������i�~�P�j����Ɋ��ӂ������܂��B���ہA�����l�o�R���Đ����邽�߂ɂ�������ƌ����ΒP�Ɋ��E�\���̂̐錾�ƃt�@�C�����̐ݒ肾���ŁA��͂��ׂ�VBMP3.dll�̋@�\�ōĐ��o���܂����B