O inglês tornou-se gradualmente uma língua global e o entusiasmo das pessoas modernas em aprender inglês aumentou. Portanto, os repetidores de inglês são muito populares. No entanto, não importa quão poderoso seja o repetidor, há uma falha óbvia - o tempo de repetição fixo. Se o tempo de releitura for muito curto, então não há nada que você possa fazer ao encontrar frases longas; se o tempo de releitura for muito longo, você inevitavelmente terá que reler algumas partes redundantes e avançar rapidamente (algumas máquinas de releitura de 200 segundos hoje em dia têm). uma função de avanço rápido) ), que é tão problemática quanto avançar a fita! Portanto, o autor deseja usar o poderoso controle de reprodução de mídia do Delphi para desenvolver um repetidor de software. A maior vantagem do repetidor de software é que você pode repeti-lo livremente, independentemente do comprimento da frase! Absolutamente não há necessidade de retroceder ou avançar. Além disso, o repetidor de software também possui uma função de leitura aleatória, o que é difícil de conseguir com repetidores comuns.
Preparação
O controle de reprodução de mídia do Delphi pode reproduzir vários arquivos de som. Podemos gravar os materiais de aprendizagem no computador de acordo com nossas preferências e salvá-los em um formato adequado. Geralmente, ele pode ser salvo como arquivo wave ou arquivo mp3.
Desenvolvimento de repetidor
O repetidor de software desenvolvido usa principalmente o controle de reprodução de mídia TMediaplayer da Delphi. Este controle está na página de controle do sistema (sistema).
Primeiro crie um aplicativo. Defina BorderStyle do formulário principal como BsDialog para desabilitar a ampliação e redução do formulário. Defina KeyPReview como True para permitir que o formulário principal lide com eventos de teclado.
Coloque controles no formulário principal:
em:
O media player é o controle principal do programa e é usado para reproduzir sons.
TrackBar é usado para indicar o progresso da reprodução atual.
O TlistBox (SectionList) à esquerda é usado para armazenar o nome do arquivo de som a ser reproduzido (materiais de aprendizagem).
As duas TlistBoxes (StartList, StopList) à direita são usadas para registrar as frases repetidas.
Os botões 'Adicionar' e 'Excluir' são usados para manter materiais de aprendizagem.
TrackBar1 é usado para exibir o processo de reprodução.
Timer1 é usado para exibir dinamicamente o progresso da reprodução.
OpenDialog1 é usado para selecionar arquivos para reprodução.
Implementação da função de repetição:
① Defina dois números inteiros (StartPos, SstopPos) no programa para registrar os pontos inicial e final da reprodução e defina StopPos como -1 durante a inicialização.
② Registre o valor inicial cada vez que for reproduzido: StartPos := Mediaplayer1.Position;
③ No programa, use a barra de espaço para controlar a repetição e a tecla Enter para continuar a reprodução. Primeiro, defina KeyPreview do formulário principal como True para que o formulário principal possa interceptar mensagens principais. Em seguida, sobrecarregue o método OnKeyDown. O código é o seguinte:
Implementação da função de leitura livre:
Como os pontos inicial e final de todas as frases repetidas são registrados durante a releitura, qualquer frase pode ser relida. Quando o usuário clica duas vezes em uma linha em 'Anos Passados' com o mouse, o usuário pode alternar diretamente para a reprodução daquela frase. O código é o seguinte:
procedimento TRepeaterForm.ListDblClick(Sender: TObject);
começar
SID := (Sender as TListBox).ItemIndex; //Obter o índice da linha atual
SID StopList.ItemIndex := SID; //Define a lista de pontos finais como
SID StartList.ItemIndex := SID; //Define a lista inicial como
SID StartPos := StrToInt(StartList.Items[SID]);//Obtém a posição inicial
StopPos := StrToInt(StopList.Items[SID]);//Obtém a posição final
Mediaplayer1.StoP; //Para a reprodução atual
Mediaplayer1.StartPos := StartPos; //Definir um novo intervalo de reprodução
Mediaplayer1.EndPos := StopPos;
Mediaplayer1.Play; //Reproduz o som no intervalo especificado
fim;
Adição de materiais de aprendizagem:
Clique no botão Adicionar para adicionar materiais de aprendizagem. Deve-se observar que a lista original deve ser recuperada antes de adicionar novos arquivos para evitar duplicação. O código é o seguinte:
procedimento TRepeaterForm.AddBtnClick(Sender: TObject);
var fn: string;
começar
se OpenDialog1.Execute então
começar
fn := OpenDialog1.NomeArquivo;
if SectionList.Items.IndexOf(fn)<0 then //Recupere o arquivo primeiro, se ele não existir SectionList.Items.Add(fn);
fim;
fim;
Seleção de materiais de estudo:
Conseguido sobrecarregando o método OnClick. Primeiro obtenha o índice quando clicado e, em seguida, obtenha o nome do arquivo por meio de Itens [índice]. Atribua o nome do arquivo à propriedade Filename do Mediaplayer e chame o método Open. (código omitido)
Além disso, o arquivo do material de aprendizagem deve ser aberto quando o programa for inicializado; o material de aprendizagem deve ser salvo quando o programa for encerrado; Estas funções são implementadas através de TlistBox.Items.LoadFromFile e TlistBox.Items.SaveToFile (código omitido).
O programa passou na depuração no ambiente chinês Windows98+Delphi5.0. Todo o código-fonte pode ser obtido enviando um email ao autor.