الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إخراج الصوت عن طريق ال PC Speaker

مغلق
بدأه إبراهيم_دياب5 في 22 يونيو 2002 · 2 رد · 591 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذا الكود لإخراج الصوت عن طريق سماعات الحاسب

procedure Sound(Freq : Word);

var

B : Byte;

begin

if Freq > 18 then

begin

Freq := Word(1193181 div LongInt(Freq));

B := Byte(GetPort($61));

if (B and 3) = 0 then

begin

SetPort($61, Word(B or 3));

SetPort($43, $B6);

end;

SetPort($42, Freq);

SetPort($42, Freq shr 8);

end;

end;

procedure NoSound;

var

Value: Word;

begin

Value := GetPort($61) and $FC;

SetPort($61, Value);

end;

procedure SetPort(address, Value:Word);

var

bValue: byte;

begin

bValue := trunc(Value and 255);

asm

mov dx, address

mov al, bValue

out dx, al

end;

end;

function GetPort(address:word):word;

var

bValue: byte;

begin

asm

mov dx, address

in al, dx

mov bValue, al

end;

GetPort := bValue;

end;

ولتجربته

sound(2000);

Sleep(300);

nosound;

(gift)

#2

مشاركة طيبة واكواد مهمة بارك الله فيك

#3

أخى العزيز المشرف:

أشكرك على هذه الكلمات الجميلة ولكنى مهما قدمت فأنى أحاول رد ولو القليل مما يقدمه هذا المنتدى الرائع / فالهدف هنا هو نشر العلم للإرتقاء والتقدم فى هذا المجال فنداء لكل من لديه معلومة مفيده مهما كانت بسيطه ألا يبخل بها لأن هناك من يحتاجها.

وفقنا الله ووفقكم لما فيه الخير

أخوكم: إبراهيم دياب

(f)

هذا الموضوع مغلق.

مواضيع مشابهة