ajout du slide et modification du fichier audio du métronome

pull/8/head
Maxime ANDRE-MASSE 2 years ago
parent 3cbc689dbd
commit 0e3b7d82cd

@ -1,26 +1,26 @@
using Plugin.Maui.Audio; using Plugin.Maui.Audio;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Maui.Controls; using Microsoft.Maui.Controls;
namespace MusiLib.Model namespace MusiLib.Model
{ {
public class Metronome public class Metronome
{ {
public AudioPlayer player; public AudioPlayer player;
public bool isMusicPlaying; public bool isMusicPlaying;
public bool isMusicBeginning; public bool isMusicBeginning;
public Metronome() public Metronome()
{ {
player = DependencyService.Get<AudioPlayer>(); player = DependencyService.Get<AudioPlayer>();
isMusicPlaying = false; isMusicPlaying = false;
} }
public async Task Lancer(string cheminFichier) public async Task Lancer(string cheminFichier)
{ {
var fichierAudio = (AudioPlayer)AudioManager.Current.CreatePlayer(await FileSystem.OpenAppPackageFileAsync(cheminFichier)); var fichierAudio = (AudioPlayer)AudioManager.Current.CreatePlayer(await FileSystem.OpenAppPackageFileAsync(cheminFichier));
@ -28,31 +28,31 @@ namespace MusiLib.Model
player.Play(); player.Play();
isMusicPlaying=true; isMusicPlaying=true;
isMusicBeginning =true; isMusicBeginning =true;
} }
public void PlayMusic() public void PlayMusic()
{ {
player.Play(); player.Play();
isMusicPlaying = true; isMusicPlaying = true;
} }
public void PauseMusic() public void PauseMusic()
{ {
player.Pause(); player.Pause();
isMusicPlaying = false; isMusicPlaying = false;
} }
public void StopMusic() public void StopMusic()
{ {
if (isMusicBeginning) if (isMusicBeginning)
{ {
player.Stop(); player.Stop();
isMusicPlaying = false; isMusicPlaying = false;
isMusicBeginning = false; isMusicBeginning = false;
} }
} }
public void ReglerTempo(float tempo) public void ReglerTempo(float tempo)
{ {
player.Speed = tempo; player.Speed = tempo;
} }
} }
} }

@ -29,6 +29,8 @@
<RowDefinition Height="70"/> <RowDefinition Height="70"/>
<RowDefinition Height="25"/> <RowDefinition Height="25"/>
<RowDefinition Height="70"/> <RowDefinition Height="70"/>
<RowDefinition Height="25"/>
<RowDefinition Height="70"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="130"/> <ColumnDefinition Width="130"/>
@ -74,6 +76,7 @@
<Label Grid.Row="0" Grid.Column="1" Text="de la partition :"/> <Label Grid.Row="0" Grid.Column="1" Text="de la partition :"/>
<Label Grid.Row="4" Grid.Column="0" Text="Paramètres du" HorizontalOptions="Center" /> <Label Grid.Row="4" Grid.Column="0" Text="Paramètres du" HorizontalOptions="Center" />
<Label Grid.Row="4" Grid.Column="1" Text="métronome :" HorizontalOptions="Start"/> <Label Grid.Row="4" Grid.Column="1" Text="métronome :" HorizontalOptions="Start"/>
<Label Grid.Row="7" Grid.Column="1" Text="Vitesse Métronome" WidthRequest="130" HeightRequest="55" HorizontalOptions="End" />
<Button Grid.Row="5" Grid.Column="0" <Button Grid.Row="5" Grid.Column="0"
Text="Jouer" Text="Jouer"
WidthRequest="75" WidthRequest="75"
@ -89,10 +92,15 @@
HorizontalOptions="Start" HorizontalOptions="Start"
Clicked="Stop_Metronome" Clicked="Stop_Metronome"
/> />
<Border Grid.Row="7" Grid.Column="0" WidthRequest="200" HeightRequest="50" HorizontalOptions="Start" Stroke="#6600FF" BackgroundColor="#6600FF">
<Slider Grid.Row="7" Grid.Column="0"
x:Name="BPM_slider"
Minimum="0"
Maximum="6"
ValueChanged="BPMSlider"/>
</Border>
</Grid> </Grid>
</VerticalStackLayout> </VerticalStackLayout>
</HorizontalStackLayout> </HorizontalStackLayout>

@ -60,7 +60,7 @@ public partial class PartitionView : ContentPage
Button button = (Button)sender; Button button = (Button)sender;
if (!metronome.isMusicBeginning) if (!metronome.isMusicBeginning)
{ {
_ = metronome.Lancer("60_BPM_Metronome.mp3"); _ = metronome.Lancer("40_BPM_Metronome.mp3");
button.Text = "Pause"; button.Text = "Pause";
} }
else if (!metronome.isMusicPlaying) else if (!metronome.isMusicPlaying)
@ -153,4 +153,11 @@ public partial class PartitionView : ContentPage
float selectedValue = (float)e.NewValue; float selectedValue = (float)e.NewValue;
music.ReglerTempo(selectedValue); music.ReglerTempo(selectedValue);
} }
private void BPMSlider(object sender, ValueChangedEventArgs e)
{
float selectedValue = (float)e.NewValue;
metronome.ReglerTempo(selectedValue);
}
} }

Loading…
Cancel
Save