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
{
static AudioPlayer player;
/*static AudioPlayer player;
static bool isMusicPlaying = false;
static bool isMusicBeginning = false;
@ -40,7 +40,7 @@ namespace MusiLib.Model
isMusicPlaying = false;
isMusicBeginning = false;
}
}
}*/
}
}

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

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

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

@ -1,107 +1,107 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MusiLib.Views.Partition"
xmlns:model="clr-namespace:MusiLib.Model"
Title="Partition">
<ScrollView Orientation="Both">
<VerticalStackLayout x:Name="Part">
<HorizontalStackLayout>
<Image Source="{Binding partitions[0].Image}"
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"
/>
<Grid Margin="15">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="70"/>
<RowDefinition Height="25"/>
<RowDefinition Height="70"/>
<RowDefinition Height="25"/>
<RowDefinition Height="70"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="125"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Grid.Row="1" Grid.Column="0"
Text="A"
WidthRequest="75"
HeightRequest="75"
HorizontalOptions="Start"
/>
<Button Grid.Row="1" Grid.Column="1"
Text="B"
WidthRequest="75"
HeightRequest="75"
HorizontalOptions="Start"
/>
<Button Grid.Row="3" Grid.Column="0"
Text="C"
WidthRequest="75"
HeightRequest="75"
HorizontalOptions="Start"
/>
<Button Grid.Row="3" Grid.Column="1"
Text="D"
WidthRequest="75"
HeightRequest="75"
HorizontalOptions="Start"
/>
<Button Grid.Row="5" Grid.Column="0"
Text="Jouer"
WidthRequest="75"
HeightRequest="75"
HorizontalOptions="Start"
Clicked="Play_Music"
x:Name="play_music_button"
/>
<Button Grid.Row="5" Grid.Column="1"
Text="Arrêter"
WidthRequest="75"
HeightRequest="75"
HorizontalOptions="Start"
Clicked="Stop_Music"
/>
</Grid>
</VerticalStackLayout>
</HorizontalStackLayout>
<Border Stroke="#000080" >
<CollectionView ItemsSource="{Binding partitions}" ItemsLayout="HorizontalList" >
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid Padding="10">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MusiLib.Views.Partition"
xmlns:model="clr-namespace:MusiLib.Model"
Title="Partition">
<ScrollView Orientation="Both">
<VerticalStackLayout x:Name="Part">
<HorizontalStackLayout>
<Image Source="{Binding partitions[0].Image}"
HeightRequest="600"
WidthRequest="400"
/>
<VerticalStackLayout Margin="15" WidthRequest="375">
<Label Text="{Binding partitions[0].Description}"
/>
<Grid Margin="15">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="70"/>
<RowDefinition Height="25"/>
<RowDefinition Height="70"/>
<RowDefinition Height="25"/>
<RowDefinition Height="70"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="125"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Grid.Row="1" Grid.Column="0"
Text="A"
WidthRequest="75"
HeightRequest="75"
HorizontalOptions="Start"
/>
<Button Grid.Row="1" Grid.Column="1"
Text="B"
WidthRequest="75"
HeightRequest="75"
HorizontalOptions="Start"
/>
<Button Grid.Row="3" Grid.Column="0"
Text="C"
WidthRequest="75"
HeightRequest="75"
HorizontalOptions="Start"
/>
<Button Grid.Row="3" Grid.Column="1"
Text="D"
WidthRequest="75"
HeightRequest="75"
HorizontalOptions="Start"
/>
<Button Grid.Row="5" Grid.Column="0"
Text="Jouer"
WidthRequest="75"
HeightRequest="75"
HorizontalOptions="Start"
Clicked="Play_Music"
x:Name="play_music_button"
/>
<Button Grid.Row="5" Grid.Column="1"
Text="Arrêter"
WidthRequest="75"
HeightRequest="75"
HorizontalOptions="Start"
Clicked="Stop_Music"
/>
</Grid>
</VerticalStackLayout>
</HorizontalStackLayout>
<Border Stroke="#000080" >
<CollectionView ItemsSource="{Binding partitions}" ItemsLayout="HorizontalList" >
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid Padding="10">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Image Grid.Row="1" Grid.Column="2"
Source="{Binding Image}"
Aspect="AspectFill"
HeightRequest="65"
WidthRequest="65"
/>
<Label Grid.Row="2" Grid.Column="2"
Text="{Binding Nom}"
FontSize="10"
HorizontalOptions="Center"
/>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</Border>
</VerticalStackLayout>
</ScrollView>
</ContentPage>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Image Grid.Row="1" Grid.Column="2"
Source="{Binding Image}"
Aspect="AspectFill"
HeightRequest="65"
WidthRequest="65"
/>
<Label Grid.Row="2" Grid.Column="2"
Text="{Binding Nom}"
FontSize="10"
HorizontalOptions="Center"
/>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</Border>
</VerticalStackLayout>
</ScrollView>
</ContentPage>

@ -1,6 +1,6 @@
using Microsoft.Maui.Controls.PlatformConfiguration;
using MusiLib.Model;
using System.Diagnostics;
namespace MusiLib.Views;
@ -35,8 +35,8 @@ public partial class Partition : ContentPage
IPlayMusic.pauseMusic();
button.Text = "Jouer";
}
}
private void Stop_Music(object sender, EventArgs e)
{
IPlayMusic.stopMusic();
@ -49,4 +49,24 @@ public partial class Partition : ContentPage
IPlayMusic.stopMusic();
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