23-08-2012, 01:39 PM
السلام عليكم ورحمة الله وبركاته
هذا الشرح تم تجربته علي Ubuntu 12.04 مع Lazarus-1.1-svn وو FPC-2.6
لتشغيل ملفات الصوت بامتداد wav في بيئة Lazarus عن طريق Openal يتوجب عليك أولا تثبيت openal من مدير الحزم في توزيعتك
وغالبا ستجدها مثبتة مسبقا
حمل الملف laz_openal.zip
فك الضغط ستجد ملفين laz_openal.pas , openal_nt.pas
افتح مشروع جديد في Lazarus واحفظه في مجلد فارغ , ثم انسخ الوحدتين السابقتين إلي مجلد المشروع .
من قائمة Project افتح Project Inspector ثم add >>> add files واضف الوحدتين السابقتين إلي المشروع .
في ملف الوحدة الرئيسية للمشروع أضف الوحدة laz_openal في قسم uses
أضف متغيرين في قسم private أحدهما كائن من الكلاس TLazOpenAL واﻷخري لملف الصوت TLazOpenALWavFileSource
في الحدث FormCreate أضف الكود
غير مسار ملف الصوت حسب الموجود عندك
أضف زرين علي الفورم لتشغيل وايقاف الصوت ثم أضف اﻷكواد الي كل منهما
ليكون الكود كاملا
منتهي البساطة اليس كذلك
هذا الشرح تم تجربته علي Ubuntu 12.04 مع Lazarus-1.1-svn وو FPC-2.6
لتشغيل ملفات الصوت بامتداد wav في بيئة Lazarus عن طريق Openal يتوجب عليك أولا تثبيت openal من مدير الحزم في توزيعتك
وغالبا ستجدها مثبتة مسبقا
حمل الملف laz_openal.zip
فك الضغط ستجد ملفين laz_openal.pas , openal_nt.pas
افتح مشروع جديد في Lazarus واحفظه في مجلد فارغ , ثم انسخ الوحدتين السابقتين إلي مجلد المشروع .
من قائمة Project افتح Project Inspector ثم add >>> add files واضف الوحدتين السابقتين إلي المشروع .
في ملف الوحدة الرئيسية للمشروع أضف الوحدة laz_openal في قسم uses
PHP كود :
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
laz_openal;
أضف متغيرين في قسم private أحدهما كائن من الكلاس TLazOpenAL واﻷخري لملف الصوت TLazOpenALWavFileSource
PHP كود :
private
{ private declarations }
openAL:TLazOpenAL;
wavFile:TLazOpenALWavFileSource;
في الحدث FormCreate أضف الكود
PHP كود :
procedure TForm1.FormCreate(Sender: TObject);
begin
openAl := TLazOpenAL.Create;
wavFile:= TLazOpenALWavFileSource.Create('sound/qatami.wav');
openAL.SourceList.Add(wavFile);
end;
غير مسار ملف الصوت حسب الموجود عندك
أضف زرين علي الفورم لتشغيل وايقاف الصوت ثم أضف اﻷكواد الي كل منهما
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
wavFile.Play;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
wavFile.Stop;
end;
ليكون الكود كاملا
PHP كود :
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
laz_openal;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
openAL:TLazOpenAL;
wavFile:TLazOpenALWavFileSource;
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
openAl := TLazOpenAL.Create;
wavFile:= TLazOpenALWavFileSource.Create('sound/qatami.wav');
openAL.SourceList.Add(wavFile);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
wavFile.Play;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
wavFile.Stop;
end;
end.