ajout son (que dans accueil pour l'instant) + truc du prof (à finir)

code
Vivien DUFOUR 2 years ago
parent e4ee3b679d
commit 776aba7153

@ -8,7 +8,7 @@ public partial class App : Application
public Manager MyManager { get; private set; } = new Manager();
public App()
{
MyManager.chargerDonnees();
/*MyManager.chargerDonnees();*/
InitializeComponent();

@ -1,4 +1,8 @@
namespace MusiLib;
using MusiLib.Model;
using MusiLib.Views;
using Plugin.Maui.Audio;
namespace MusiLib;
public static class MauiProgram
{
@ -13,6 +17,9 @@ public static class MauiProgram
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
builder.Services.AddSingleton(AudioManager.Current);
builder.Services.AddTransient<Accueil>();
return builder.Build();
}
}

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MusiLib.Model
{
public interface IPersistenceManager
{
(List<Partition>, List<Utilisateur>) chargeDonnees();
void sauvegardeDonnees(List<Partition> p, List<Utilisateur> u);
}
}

@ -1,6 +1,7 @@
using MusiLib.Model;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -28,18 +29,40 @@ namespace MusiLib.Model
}
public void chargerDonnees()
/*public class Manager
{
Utilisateur kevin = new Utilisateur("Kevin");
Utilisateur michel = new Utilisateur("Michel");
ajouterUtilisateur(kevin);
ajouterUtilisateur(michel);
Partition amazing_grace = new Partition("Amazing Grace", "John Newton", 1, "Amazing Grace est l'un des cantiques chrétiens les plus célèbres dans le monde anglophone. La première publication des paroles date de 1779. Associé à diverses mélodies au fil des années, il est aujourd'hui interprété sur la musique de New Britain", "piano");
Partition au_clair_de_la_lune = new Partition("Au clair de la lune", "Édouard-Léon Scott de Martinville", 1, "Au clair de la lune est une chanson populaire française dont la mélodie, très caractéristique, ainsi que les paroles — surtout celles du premier couplet — sont si familières qu'elles ont fait l'objet d'innombrables citations, adaptations, parodies, pastiches, etc.", "piano");
ajouterPartition(amazing_grace);
ajouterPartition(au_clair_de_la_lune);
public IPersistenceManager Persistence { get; set; }
public Manager(IPersistenceManager manager)
{
utilisateurs = new ReadOnlyCollection<>
public List<Partition> partitions { get; private set; }
}
public Manager()
{
utilisateurs = new List<Utilisateur>();
partitions = new List<Partition>();
}
public void ajouterUtilisateur(Utilisateur utilisateur)
{
utilisateurs.Add(utilisateur);
}
public void ajouterPartition(Partition partition)
{
partitions.Add(partition);
}
private void chargeDonnees()
{
var donnees = Persistence chargeDonnees();
}*/
}
}

@ -48,4 +48,8 @@
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Plugin.Maui.Audio" Version="1.0.0" />
</ItemGroup>
</Project>

@ -0,0 +1,35 @@
using MusiLib.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MusiLib.Stub
{
public class Stub : IPersistenceManager
{
public (List<Partition>, List<Utilisateur>) chargeDonnees()
{
List<Partition> favoris = new List<Partition>();
List<Utilisateur> utilisateurs = new List<Utilisateur>();
Utilisateur kevin = new Utilisateur("Kevin");
Utilisateur michel = new Utilisateur("Michel");
utilisateurs.Add(kevin);
utilisateurs.Add(michel);
Partition amazing_grace = new Partition("Amazing Grace", "John Newton", 1, "Amazing Grace est l'un des cantiques chrétiens les plus célèbres dans le monde anglophone. La première publication des paroles date de 1779. Associé à diverses mélodies au fil des années, il est aujourd'hui interprété sur la musique de New Britain", "piano");
Partition au_clair_de_la_lune = new Partition("Au clair de la lune", "Édouard-Léon Scott de Martinville", 1, "Au clair de la lune est une chanson populaire française dont la mélodie, très caractéristique, ainsi que les paroles — surtout celles du premier couplet — sont si familières qu'elles ont fait l'objet d'innombrables citations, adaptations, parodies, pastiches, etc.", "piano");
favoris.Add(amazing_grace);
favoris.Add(au_clair_de_la_lune);
return (favoris, utilisateurs);
}
public void sauvegardeDonnees(List<Partition> p, List<Utilisateur> u)
{
}
}
}

@ -72,11 +72,26 @@
<Button Grid.Row="1" Grid.Column="0"
Text="Partition 1"
WidthRequest="75"
HeightRequest="75"
BackgroundColor="Blue"
Clicked="GoToPartitionButton"/>
<Button Grid.Row="1" Grid.Column="1"
Text="Partition 2"
WidthRequest="75"
HeightRequest="75"
BackgroundColor="Blue"
Clicked="GoToPartitionButton"/>
<Button Grid.Row="1" Grid.Column="2"
Text="Musique"
WidthRequest="75"
HeightRequest="75"
BackgroundColor="Blue"
Clicked="Button_Clicked"/>
</Grid>
</ScrollView>

@ -1,10 +1,17 @@
using Plugin.Maui.Audio;
namespace MusiLib.Views;
public partial class Accueil : ContentPage, IAllowClick
{
public Accueil()
private readonly IAudioManager audioManager;
public Accueil(IAudioManager audioManager)
{
InitializeComponent();
this.audioManager = audioManager;
}
private void GoToFavorisButton(object sender, EventArgs e)
@ -26,4 +33,18 @@ public partial class Accueil : ContentPage, IAllowClick
IAllowClick.ResumeTap();
}
private async void Button_Clicked(object sender, EventArgs e)
{
/*var player = new Windows.Media.Playback.MediaPlayer();
var uri = new Uri($"C:/Users/Utilisateur/Documents/Cours/SAE/SAE_201/ViewsApp/ViewsApp/Resources/Raw/au_clair_de_la_lune.mp3");
player.SetUriSource(uri);
player.Volume = 0.5;
player.Play();*/
var player = audioManager.CreatePlayer(await FileSystem.OpenAppPackageFileAsync("au_clair_de_la_lune.wav"));
player.Volume = 1;
player.Play();
}
}

@ -1,4 +1,6 @@
using Microsoft.Maui.Controls.PlatformConfiguration;
using MusiLib.Model;
using Plugin.Maui.Audio;
namespace MusiLib.Views;
@ -6,17 +8,23 @@ namespace MusiLib.Views;
public partial class Partition : ContentPage
{
/*private readonly IAudioManager audioManager;*/
public Manager MyManager => (App.Current as App).MyManager;
public Partition()
{
InitializeComponent();
listUtil.BindingContext = MyManager;
/*this.audioManager = audioManager;*/
}
private void Button_Clicked(object sender, EventArgs e)
private async void Button_Clicked(object sender, EventArgs e)
{
/*var player = new Windows.Media.Playback.MediaPlayer();
var uri = new Uri($"C:/Users/Utilisateur/Documents/Cours/SAE/SAE_201/ViewsApp/ViewsApp/Resources/Raw/au_clair_de_la_lune.mp3");
@ -24,6 +32,9 @@ public partial class Partition : ContentPage
player.Volume = 0.5;
player.Play();*/
/*var player = audioManager.CreatePlayer(await FileSystem.OpenAppPackageFileAsync("au_clair_de_la_lune.wav"));
player.Play();
player.Dispose();*/
}
}
Loading…
Cancel
Save