correction d'un bug où le son ne s'arretait jamais + modif data binding pour description partition

code
Vivien DUFOUR 2 years ago
parent 675cf045d7
commit 559c83baea

@ -9,7 +9,7 @@ namespace MusiLib.Model
{ {
public class Metronome public class Metronome
{ {
static AudioPlayer player; /*static AudioPlayer player;
static bool isMusicPlaying = false; static bool isMusicPlaying = false;
static bool isMusicBeginning = false; static bool isMusicBeginning = false;
@ -40,7 +40,7 @@ namespace MusiLib.Model
isMusicPlaying = false; isMusicPlaying = false;
isMusicBeginning = false; isMusicBeginning = false;
} }
} }*/
} }
} }

@ -69,20 +69,12 @@
Clicked="GoToFavorisButton" Clicked="GoToFavorisButton"
/> />
<ImageButton Grid.Row="0" Grid.Column="0" <ImageButton Grid.Row="0" Grid.Column="0"
Source="{Binding partitions[0].Image}" Source="{Binding partitions[0].Image}"
WidthRequest="90" WidthRequest="90"
HeightRequest="90" HeightRequest="90"
Clicked="GoToPartitionButton"/> Clicked="GoToPartitionButton"/>
<Button Grid.Row="1" Grid.Column="1"
Text="Partition 2"
WidthRequest="90"
HeightRequest="90"
BackgroundColor="Blue"
Clicked="GoToPartitionButton"/>
</Grid> </Grid>
</ScrollView> </ScrollView>

@ -1,3 +1,5 @@
using System.Diagnostics;
namespace MusiLib.Views; namespace MusiLib.Views;
public partial class Favoris : ContentPage, IAllowClick public partial class Favoris : ContentPage, IAllowClick

@ -30,7 +30,7 @@ namespace MusiLib.Views
public static void stopMusic() public static void stopMusic()
{ {
if(isMusicBeginning) if(isMusicBeginning)
{ {
player.Stop(); player.Stop();
isMusicPlaying = false; isMusicPlaying = false;

@ -1,107 +1,107 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MusiLib.Views.Partition" x:Class="MusiLib.Views.Partition"
xmlns:model="clr-namespace:MusiLib.Model" xmlns:model="clr-namespace:MusiLib.Model"
Title="Partition"> Title="Partition">
<ScrollView Orientation="Both">
<VerticalStackLayout x:Name="Part"> <ScrollView Orientation="Both">
<HorizontalStackLayout> <VerticalStackLayout x:Name="Part">
<Image Source="{Binding partitions[0].Image}" <HorizontalStackLayout>
HeightRequest="600" <Image Source="{Binding partitions[0].Image}"
WidthRequest="400" HeightRequest="600"
/> WidthRequest="400"
<VerticalStackLayout Margin="15" WidthRequest="375"> />
<Label Text="cette partition est très célèbre pour lpu pro lors de son temps. Malgres tous il a été un exemple pour son temps au point ou il est devenu un membre élément de la révolution francaise" <VerticalStackLayout Margin="15" WidthRequest="375">
<Label Text="{Binding partitions[0].Description}"
/> />
<Grid Margin="15">
<Grid.RowDefinitions> <Grid Margin="15">
<RowDefinition /> <Grid.RowDefinitions>
<RowDefinition Height="70"/> <RowDefinition />
<RowDefinition Height="25"/> <RowDefinition Height="70"/>
<RowDefinition Height="70"/> <RowDefinition Height="25"/>
<RowDefinition Height="25"/> <RowDefinition Height="70"/>
<RowDefinition Height="70"/> <RowDefinition Height="25"/>
</Grid.RowDefinitions> <RowDefinition Height="70"/>
<Grid.ColumnDefinitions> </Grid.RowDefinitions>
<ColumnDefinition Width="125"/> <Grid.ColumnDefinitions>
<ColumnDefinition /> <ColumnDefinition Width="125"/>
</Grid.ColumnDefinitions> <ColumnDefinition />
<Button Grid.Row="1" Grid.Column="0" </Grid.ColumnDefinitions>
Text="A" <Button Grid.Row="1" Grid.Column="0"
WidthRequest="75" Text="A"
HeightRequest="75" WidthRequest="75"
HorizontalOptions="Start" HeightRequest="75"
HorizontalOptions="Start"
/> />
<Button Grid.Row="1" Grid.Column="1" <Button Grid.Row="1" Grid.Column="1"
Text="B" Text="B"
WidthRequest="75" WidthRequest="75"
HeightRequest="75" HeightRequest="75"
HorizontalOptions="Start" HorizontalOptions="Start"
/> />
<Button Grid.Row="3" Grid.Column="0" <Button Grid.Row="3" Grid.Column="0"
Text="C" Text="C"
WidthRequest="75" WidthRequest="75"
HeightRequest="75" HeightRequest="75"
HorizontalOptions="Start" HorizontalOptions="Start"
/> />
<Button Grid.Row="3" Grid.Column="1" <Button Grid.Row="3" Grid.Column="1"
Text="D" Text="D"
WidthRequest="75" WidthRequest="75"
HeightRequest="75" HeightRequest="75"
HorizontalOptions="Start" HorizontalOptions="Start"
/> />
<Button Grid.Row="5" Grid.Column="0" <Button Grid.Row="5" Grid.Column="0"
Text="Jouer" Text="Jouer"
WidthRequest="75" WidthRequest="75"
HeightRequest="75" HeightRequest="75"
HorizontalOptions="Start" HorizontalOptions="Start"
Clicked="Play_Music" Clicked="Play_Music"
x:Name="play_music_button" x:Name="play_music_button"
/> />
<Button Grid.Row="5" Grid.Column="1" <Button Grid.Row="5" Grid.Column="1"
Text="Arrêter" Text="Arrêter"
WidthRequest="75" WidthRequest="75"
HeightRequest="75" HeightRequest="75"
HorizontalOptions="Start" HorizontalOptions="Start"
Clicked="Stop_Music" Clicked="Stop_Music"
/> />
</Grid> </Grid>
</VerticalStackLayout> </VerticalStackLayout>
</HorizontalStackLayout> </HorizontalStackLayout>
<Border Stroke="#000080" > <Border Stroke="#000080" >
<CollectionView ItemsSource="{Binding partitions}" ItemsLayout="HorizontalList" > <CollectionView ItemsSource="{Binding partitions}" ItemsLayout="HorizontalList" >
<CollectionView.ItemTemplate> <CollectionView.ItemTemplate>
<DataTemplate> <DataTemplate>
<Grid Padding="10"> <Grid Padding="10">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition /> <RowDefinition />
<RowDefinition /> <RowDefinition />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition /> <ColumnDefinition />
<ColumnDefinition /> <ColumnDefinition />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Image Grid.Row="1" Grid.Column="2" <Image Grid.Row="1" Grid.Column="2"
Source="{Binding Image}" Source="{Binding Image}"
Aspect="AspectFill" Aspect="AspectFill"
HeightRequest="65" HeightRequest="65"
WidthRequest="65" WidthRequest="65"
/> />
<Label Grid.Row="2" Grid.Column="2" <Label Grid.Row="2" Grid.Column="2"
Text="{Binding Nom}" Text="{Binding Nom}"
FontSize="10" FontSize="10"
HorizontalOptions="Center" HorizontalOptions="Center"
/> />
</Grid> </Grid>
</DataTemplate> </DataTemplate>
</CollectionView.ItemTemplate> </CollectionView.ItemTemplate>
</CollectionView> </CollectionView>
</Border> </Border>
</VerticalStackLayout> </VerticalStackLayout>
</ScrollView> </ScrollView>
</ContentPage> </ContentPage>

@ -1,6 +1,6 @@
using Microsoft.Maui.Controls.PlatformConfiguration; using Microsoft.Maui.Controls.PlatformConfiguration;
using MusiLib.Model; using MusiLib.Model;
using System.Diagnostics;
namespace MusiLib.Views; namespace MusiLib.Views;
@ -35,8 +35,8 @@ public partial class Partition : ContentPage
IPlayMusic.pauseMusic(); IPlayMusic.pauseMusic();
button.Text = "Jouer"; button.Text = "Jouer";
} }
} }
private void Stop_Music(object sender, EventArgs e) private void Stop_Music(object sender, EventArgs e)
{ {
IPlayMusic.stopMusic(); IPlayMusic.stopMusic();
@ -49,4 +49,24 @@ public partial class Partition : ContentPage
IPlayMusic.stopMusic(); IPlayMusic.stopMusic();
return base.OnBackButtonPressed(); return base.OnBackButtonPressed();
} }
}
protected override void OnDisappearing()
{
base.OnDisappearing();
IPlayMusic.stopMusic();
}
protected override void OnAppearing()
{
base.OnAppearing();
Shell.Current.Navigating += Shell_Navigating;
}
private void Shell_Navigating(object sender, ShellNavigatingEventArgs e)
{
if (e.Source == ShellNavigationSource.ShellItemChanged)
{
IPlayMusic.stopMusic();
}
}
}

Loading…
Cancel
Save