ภาษาอังกฤษค่อยๆ กลายเป็นภาษาสากล และความกระตือรือร้นในการเรียนภาษาอังกฤษของคนสมัยใหม่ก็เพิ่มขึ้น ดังนั้นผู้เรียนภาษาอังกฤษจึงได้รับความนิยมอย่างมาก อย่างไรก็ตามไม่ว่ารีพีทเตอร์จะทรงพลังแค่ไหน แต่ก็มีข้อบกพร่องที่ชัดเจนนั่นคือเวลาทำซ้ำคงที่ ถ้าเวลาอ่านสั้นเกินไป ก็ทำอะไรไม่ได้เมื่อต้องเผชิญกับประโยคยาวๆ ถ้าเวลาอ่านยาวมาก คุณจะต้องอ่านซ้ำบางส่วนที่ซ้ำซ้อนและกรอไปข้างหน้าอย่างหลีกเลี่ยงไม่ได้ (ปัจจุบันเครื่องอ่านซ้ำ 200 วินาทีบางรุ่นมี ฟังก์ชั่นกรอไปข้างหน้า) ) ซึ่งยุ่งยากพอ ๆ กับการกรอเทปไปข้างหน้า! ดังนั้นผู้เขียนจึงต้องการใช้การควบคุมการเล่นสื่ออันทรงพลังของ Delphi เพื่อพัฒนาซอฟต์แวร์ทวนสัญญาณ ข้อได้เปรียบที่ใหญ่ที่สุดของซอฟต์แวร์ทวนสัญญาณคือคุณสามารถทำซ้ำได้อย่างอิสระโดยไม่คำนึงถึงความยาวของประโยค! ไม่จำเป็นต้องกรอกลับหรือกรอไปข้างหน้าโดยเด็ดขาด ไม่เพียงเท่านั้น ตัวทวนซอฟต์แวร์ยังมีฟังก์ชันการอ่านแบบสุ่ม ซึ่งทำได้ยากด้วยตัวทวนสัญญาณธรรมดา
การตระเตรียม
การควบคุมการเล่นสื่อของ Delphi สามารถเล่นไฟล์เสียงต่างๆ เราสามารถบันทึกสื่อการเรียนรู้ลงในคอมพิวเตอร์ตามความต้องการของเราเองและบันทึกในรูปแบบที่เหมาะสม โดยทั่วไปสามารถบันทึกเป็นไฟล์ wave หรือไฟล์ mp3 ได้
การพัฒนาทวนสัญญาณ
ซอฟต์แวร์ทวนสัญญาณที่พัฒนาขึ้นส่วนใหญ่ใช้การควบคุมการเล่นสื่อของ Delphi TMediaplayer การควบคุมนี้อยู่ในหน้าการควบคุมระบบ (ระบบ)
ขั้นแรกให้สร้างแอปพลิเคชัน ตั้งค่า BorderStyle ของแบบฟอร์มหลักเป็น BsDialog เพื่อปิดใช้งานการขยายและลดขนาดแบบฟอร์ม ตั้งค่า KeyPReview เป็น True เพื่อให้ฟอร์มหลักจัดการเหตุการณ์คีย์บอร์ด
วางการควบคุมบนแบบฟอร์มหลัก:
ใน:
เครื่องเล่นสื่อคือส่วนควบคุมหลักของโปรแกรมและใช้สำหรับเล่นเสียง
TrackBar ใช้เพื่อระบุความคืบหน้าในการเล่นในปัจจุบัน
TlistBox (SectionList) ทางด้านซ้ายใช้จัดเก็บชื่อไฟล์เสียงที่จะเล่น (สื่อการเรียนรู้)
TlistBoxes สองอัน (StartList, StopList) ทางด้านขวาใช้เพื่อบันทึกประโยคที่ซ้ำกัน
ปุ่ม 'เพิ่ม' และ 'ลบ' ใช้เพื่อเก็บรักษาสื่อการเรียนรู้
TrackBar1 ใช้เพื่อแสดงกระบวนการเล่น
Timer1 ใช้เพื่อแสดงความคืบหน้าในการเล่นแบบไดนามิก
OpenDialog1 ใช้เลือกไฟล์ที่จะเล่น
การใช้ฟังก์ชันทำซ้ำ:
1. ตั้งค่าจำนวนเต็มสองตัว (StartPos, SstopPos) ในโปรแกรมเพื่อบันทึกจุดเริ่มต้นและจุดสิ้นสุดของการเล่น และตั้งค่า StopPos เป็น -1 ในระหว่างการเริ่มต้น
② บันทึกค่าเริ่มต้นทุกครั้งที่เล่น: StartPos := Mediaplayer1.Position;
3 ในโปรแกรม ใช้สเปซบาร์เพื่อควบคุมการทำซ้ำและปุ่ม Enter เพื่อเล่นต่อ ขั้นแรก ให้ตั้งค่า KeyPreview ของฟอร์มหลักเป็น True เพื่อให้ฟอร์มหลักดักจับข้อความสำคัญได้ จากนั้น โอเวอร์โหลดวิธี OnKeyDown รหัสมีดังนี้:
การใช้ฟังก์ชันการอ่านฟรี:
เนื่องจากจุดเริ่มต้นและจุดสิ้นสุดของประโยคที่ซ้ำทั้งหมดจะถูกบันทึกไว้ในระหว่างการอ่านซ้ำ ประโยคใดๆ ก็ตามจึงสามารถอ่านซ้ำได้ เมื่อผู้ใช้คลิกสองครั้งที่บรรทัดใน 'ปีที่ผ่านมา' ด้วยเมาส์ ผู้ใช้สามารถสลับไปที่การเล่นประโยคนั้นได้โดยตรง รหัสมีดังนี้:
ขั้นตอน TRepeaterForm.ListDblClick (ผู้ส่ง: TObject);
เริ่ม
SID := (ผู้ส่งเป็น TListBox).ItemIndex; //รับดัชนีของแถวปัจจุบัน
SID StopList.ItemIndex := SID; //ตั้งค่ารายการจุดสิ้นสุดเป็น
SID StartList.ItemIndex := SID; //ตั้งค่ารายการเริ่มต้นเป็น
SID StartPos := StrToInt(StartList.Items[SID]);//รับตำแหน่งเริ่มต้น
StopPos := StrToInt(StopList.Items[SID]);//รับตำแหน่งสิ้นสุด
Mediaplayer1.StoP; //หยุดการเล่นปัจจุบัน
Mediaplayer1.StartPos := StartPos; // ตั้งค่าช่วงการเล่นใหม่
Mediaplayer1.EndPos := StopPos;
Mediaplayer1.Play; //เล่นเสียงในช่วงที่กำหนด
จบ;
การเพิ่มเติมสื่อการเรียนรู้:
คลิกปุ่มเพิ่มเพื่อเพิ่มสื่อการเรียนรู้ ควรสังเกตว่าควรดึงรายการต้นฉบับก่อนที่จะเพิ่มไฟล์ใหม่เพื่อป้องกันการทำซ้ำ รหัสมีดังนี้:
ขั้นตอน TRepeaterForm.AddBtnClick (ผู้ส่ง: TObject);
var fn: สตริง;
เริ่ม
ถ้า OpenDialog1.Execute แล้ว
เริ่ม
fn := OpenDialog1.FileName;
ถ้า SectionList.Items.IndexOf(fn)<0 แล้ว //ดึงไฟล์ออกมาก่อน หากไม่มี SectionList.Items.Add(fn); //เพิ่มเข้าไปในรายการ
จบ;
จบ;
การเลือกสื่อการเรียน:
ทำได้โดยการโอเวอร์โหลดวิธี OnClick ขั้นแรกให้รับดัชนีเมื่อคลิก จากนั้นรับชื่อไฟล์ผ่านรายการ [ดัชนี] กำหนดชื่อไฟล์ให้กับคุณสมบัติชื่อไฟล์ของ Mediaplayer แล้วเรียกวิธีการเปิด (ละเว้นรหัส)
นอกจากนี้ ควรเปิดไฟล์สื่อการเรียนรู้เมื่อโปรแกรมเริ่มต้น ควรบันทึกสื่อการเรียนรู้เมื่อออกจากโปรแกรม ฟังก์ชันเหล่านี้ถูกนำมาใช้ผ่าน TlistBox.Items.LoadFromFile และ TlistBox.Items.SaveToFile (ละเว้นโค้ด)
โปรแกรมผ่านการดีบักในสภาพแวดล้อม Windows98+Delphi5.0 ภาษาจีน สามารถรับซอร์สโค้ดทั้งหมดได้โดยการส่งไปรษณีย์ถึงผู้เขียน