L'anglais est progressivement devenu une langue mondiale et l'enthousiasme des gens modernes pour l'apprentissage de l'anglais a augmenté. Par conséquent, les redoublants en anglais sont très populaires. Cependant, quelle que soit la puissance du répéteur, il présente un défaut évident : le temps de répétition fixe. Si le temps de relecture est trop court, on ne peut rien faire face à des phrases longues ; si le temps de relecture est très long, il faudra inévitablement relire certaines parties redondantes et avancer rapidement (certaines machines de relecture de 200 secondes existent aujourd'hui). une fonction d'avance rapide) ), ce qui est aussi gênant que l'avance rapide de la bande ! Par conséquent, l'auteur souhaite utiliser le puissant contrôle de lecture multimédia de Delphi pour développer un répéteur logiciel. Le plus gros avantage du répéteur logiciel est que vous pouvez le répéter librement quelle que soit la longueur de la phrase ! Absolument pas besoin de rembobiner ou d’avancer rapidement. De plus, le répéteur logiciel dispose également d'une fonction de lecture aléatoire, difficile à réaliser avec des répéteurs ordinaires.
Préparation
Le contrôle de lecture multimédia de Delphi peut lire divers fichiers audio. Nous pouvons enregistrer le matériel d'apprentissage sur l'ordinateur selon nos propres préférences et les sauvegarder dans un format approprié. Généralement, il peut être enregistré sous forme de fichier wave ou de fichier mp3.
Développement de répéteur
Le répéteur logiciel développé utilise principalement le contrôle de lecture multimédia de Delphi, TMediaplayer. Ce contrôle se trouve dans la page de contrôle du système (système).
Créez d’abord une application. Définissez le BorderStyle du formulaire principal sur BsDialog pour désactiver l’agrandissement et la réduction du formulaire. Définissez KeyPReview sur True pour permettre au formulaire principal de gérer les événements du clavier.
Placez des contrôles sur le formulaire principal :
dans:
Le lecteur multimédia est le contrôle clé du programme et est utilisé pour lire des sons.
TrackBar est utilisé pour indiquer la progression de la lecture en cours.
La TlistBox (SectionList) à gauche est utilisée pour stocker le nom du fichier son à jouer (matériel d'apprentissage).
Les deux TlistBox (StartList, StopList) à droite servent à enregistrer les phrases répétées.
Les boutons « Ajouter » et « Supprimer » sont utilisés pour gérer le matériel d'apprentissage.
TrackBar1 est utilisé pour afficher le processus de lecture.
Timer1 est utilisé pour afficher dynamiquement la progression de la lecture.
OpenDialog1 est utilisé pour sélectionner les fichiers à lire.
Implémentation de la fonction de répétition :
① Définissez deux entiers (StartPos, SstopPos) dans le programme pour enregistrer les points de début et de fin de la lecture, et définissez StopPos sur -1 lors de l'initialisation.
② Enregistrez la valeur de départ à chaque lecture : StartPos := Mediaplayer1.Position ;
③ Dans le programme, utilisez la barre d'espace pour contrôler la répétition et la touche Entrée pour continuer la lecture. Tout d’abord, définissez le KeyPreview du formulaire principal sur True afin que le formulaire principal puisse intercepter les messages clés. Ensuite, surchargez la méthode OnKeyDown. Le code est le suivant :
Mise en place de la fonction de lecture gratuite :
Étant donné que les points de début et de fin de toutes les phrases répétées sont enregistrés lors de la relecture, n'importe quelle phrase peut être relue. Lorsque l'utilisateur double-clique sur une ligne dans « Années passées » avec la souris, l'utilisateur peut directement passer à la lecture de cette phrase. Le code est le suivant :
procédure TRepeaterForm.ListDblClick(Expéditeur : TObject);
commencer
SID := (Expéditeur en tant que TListBox).ItemIndex; //Obtenir l'index de la ligne actuelle
SID StopList.ItemIndex := SID; //Définit la liste des points finaux sur
SID StartList.ItemIndex := SID; //Définit la liste de départ sur
SID StartPos := StrToInt(StartList.Items[SID]);//Obtenir la position de départ
StopPos := StrToInt(StopList.Items[SID]);//Obtenir la position finale
Mediaplayer1.StoP; //Arrêter la lecture en cours
Mediaplayer1.StartPos := StartPos; //Définir une nouvelle plage de lecture
Mediaplayer1.EndPos := StopPos;
Mediaplayer1.Play; //Jouer le son dans la plage spécifiée
fin;
Ajout de matériel d'apprentissage :
Cliquez sur le bouton Ajouter pour ajouter du matériel d'apprentissage. Il convient de noter que la liste originale doit être récupérée avant d'ajouter de nouveaux fichiers pour éviter la duplication. Le code est le suivant :
procédure TRepeaterForm.AddBtnClick(Expéditeur : TObject);
var fn : chaîne ;
commencer
si OpenDialog1.Execute alors
commencer
fn := OpenDialog1.FileName;
if SectionList.Items.IndexOf(fn)<0 then //Récupérer le fichier en premier, s'il n'existe pas SectionList.Items.Add(fn); //Ajouter à la liste
fin;
fin;
Sélection du matériel d'étude :
Obtenu en surchargeant la méthode OnClick. Obtenez d’abord l’index lorsque vous cliquez dessus, puis obtenez le nom du fichier via Items [index]. Attribuez le nom de fichier à la propriété Filename de Mediaplayer, puis appelez la méthode Open. (code omis)
De plus, le fichier de matériel d'apprentissage doit être ouvert lorsque le programme est initialisé ; le matériel d'apprentissage doit être enregistré à la sortie du programme. Ces fonctions sont implémentées via TlistBox.Items.LoadFromFile et TlistBox.Items.SaveToFile (code omis).
Le programme a réussi le débogage dans l'environnement chinois Windows98+Delphi5.0. Tout le code source peut être obtenu en envoyant un courrier à l'auteur.