Английский язык постепенно стал глобальным языком, и энтузиазм современных людей к изучению английского языка возрос, поэтому повторители английского языка очень популярны. Однако, каким бы мощным ни был репитер, у него есть очевидный недостаток – фиксированное время повтора. Если время перечитывания слишком короткое, то вы ничего не сможете сделать, столкнувшись с длинными предложениями; если время перечитывания очень велико, вам неизбежно придется перечитывать некоторые лишние части и перематывать вперед (в настоящее время некоторые 200-секундные машины для перечитывания имеют такую возможность). функция перемотки вперед) ), что так же хлопотно, как и перемотка ленты вперед! Поэтому автор хочет использовать мощные средства управления воспроизведением мультимедиа в Delphi для разработки программного ретранслятора. Самым большим преимуществом программного репитера является то, что вы можете свободно повторять его независимо от длины предложения! Совершенно не нужно перематывать назад или вперед. Мало того, программный репитер имеет еще и функцию случайного чтения, чего сложно добиться с помощью обычных репитеров.
Подготовка
Элемент управления воспроизведением мультимедиа Delphi может воспроизводить различные звуковые файлы. Мы можем записать учебные материалы на компьютер в соответствии с нашими предпочтениями и сохранить их в подходящем формате. Как правило, его можно сохранить в виде волнового файла или mp3-файла.
Разработка репитера
Разработанный программный ретранслятор в основном использует средство управления воспроизведением мультимедиа Delphi TMediaplayer. Этот элемент управления находится на странице управления системой (системой).
Сначала создайте приложение. Установите для BorderStyle основной формы значение BsDialog, чтобы отключить увеличение и уменьшение формы. Установите для KeyPReview значение True, чтобы основная форма обрабатывала события клавиатуры.
Разместите элементы управления на главной форме:
в:
Медиаплеер является ключевым элементом управления программой и используется для воспроизведения звуков.
TrackBar используется для обозначения текущего прогресса воспроизведения.
TlistBox (SectionList) слева используется для хранения имени воспроизводимого звукового файла (учебных материалов).
Два TlistBox (StartList, StopList) справа используются для записи повторяющихся предложений.
Кнопки «Добавить» и «Удалить» используются для сохранения учебных материалов.
TrackBar1 используется для отображения процесса воспроизведения.
Таймер1 используется для динамического отображения хода воспроизведения.
OpenDialog1 используется для выбора файлов для воспроизведения.
Реализация функции повтора:
① Установите в программе два целых числа (StartPos, SstopPos) для записи начальной и конечной точек воспроизведения, а во время инициализации установите для StopPos значение -1.
② Записывайте начальное значение при каждом воспроизведении: StartPos := Mediaplayer1.Position;
③ В программе используйте пробел для управления повтором и клавишу 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 //Устанавливаем новый диапазон воспроизведения;
Медиаплеер1.EndPos := StopPos;
Mediaplayer1.Play; //Воспроизведение звука в указанном диапазоне.
конец;
Добавление учебных материалов:
Нажмите кнопку «Добавить», чтобы добавить учебные материалы. Следует отметить, что исходный список следует получить перед добавлением новых файлов, чтобы предотвратить дублирование. Код выглядит следующим образом:
процедура TRepeaterForm.AddBtnClick(Отправитель: TObject);
вар фн: строка;
начинать
если OpenDialog1.Execute, то
начинать
fn := OpenDialog1.FileName;
ifsectionList.Items.IndexOf(fn)<0 then //Сначала извлекаем файл, если он не существует.sectionList.Items.Add(fn); //Добавляем в список;
конец;
конец;
Подборка учебных материалов:
Достигается перегрузкой метода OnClick. Сначала получите индекс при нажатии, а затем получите имя файла через Items[index]. Назначьте имя файла свойству Filename медиаплеера, а затем вызовите метод Open. (код опущен)
Кроме того, файл учебного материала должен быть открыт при инициализации программы; учебный материал должен быть сохранен при выходе из программы; Эти функции реализуются через TlistBox.Items.LoadFromFile и TlistBox.Items.SaveToFile (код опущен).
Программа прошла отладку в китайской среде Windows98+Delphi5.0. Весь исходный код можно получить, отправив письмо автору.