IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Phone .NET Discussion :

[C#] Recuperer une musique d'une "MediaLibrary" du telephone portable et la passer dans un "mediaelement"


Sujet :

Windows Phone .NET

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2010
    Messages : 96
    Points : 72
    Points
    72
    Par défaut [C#] Recuperer une musique d'une "MediaLibrary" du telephone portable et la passer dans un "mediaelement"
    Bonjour je me presente , Mehdi Bugnard
    Je suis etudiant devellopeur sur windows phone 7et je rencontre quelque difficulté depuis quelques jours afin de lire une musique se trouvant sur la bibliotheque du telephone portable, depuis une "MediaLibrary"..

    A noter que je veux vraiment convertir la musique et la placer ds un "mediaElement" car lire avec le "mediaPlaye"r jai compris mais ne me permet pas d'utiliser les fonction d'un "mediaElement"...
    En effet mon souci que je voudrais récupérer un son de ma "medialibrairie" pour la placer dans un "mediaElement":

    Voici mon code exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    foreach( var source in mediaSource.GetAvailableMediaSource())
    {
    mediaelement test= new mediaelement(); 
    ml =new MediaLibrary(source);
    mediaelement test = ml.songs[1]; // !!!! Erreur ici!!!
    }
    Sinon j'ai aussi tester l'exeple suivant mais sans succes ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    using (var store = System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication())
                {
     
                    string path = LB_MusicList.SelectedItem.ToString();
                    System.IO.IsolatedStorage.IsolatedStorageFileStream fichierSon = store.OpenFile(LB_MusicList.SelectedItem.ToString(), FileMode.Open);
     
                mediaElement Music = new MediaELement();
                    Music.SetSource(fichierSon1);
                }

  2. #2
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    Hello,

    C'est tout a fait normal que cela ne fonctionne pas car tu n'a pas le droit de parcourir les bibliothèques.

    Il faut que tu utilise les TaskChoosers et que ce soit ton utilisateur qui sélectionne le fichier que tu pourras alors traiter.

    C'est un principe de sécurité qui empêche tout code malveillant d'accéder aux données du WP7.

    Voilà

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2010
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    Ahh d'accord ! Merci cela m'oriente deja plus je vais essayer ca et je reviendrai pour vous tenir au courant

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2010
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    ARff..malheureusement il n'y a que la classe "chooser" disponible pour les media photos sur le silverlight pour windows phone 7..

    Microsoft.Phone.Tasks.PhotoChooserTask

    A croire que l'ont ne peux vraiment pas selectionner une music

  5. #5
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2010
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    Oui j'ai vu justement !
    Je ne peux donc lire des musiques seulement avec le mediaPlayer ...
    impossible de convertir un media.Song en mediaelement ..

    Ou je me trompe ptetre ?

  7. #7
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    Hello,

    en utilisant ça:

    http://msdn.microsoft.com/fr-fr/libr...tudio.31).aspx

    tu peux retrouver le chemin du fichier que tu veux lire.

    Ensuite avec ça tu peux le lire dans ton MediaElement.

    http://msdn.microsoft.com/fr-fr/libr...(v=VS.95).aspx

    Du moins il me semble...

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2010
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    Oui je vois comment ..
    Je te remercie beaucoup pour avoir rechercher tout sa !

    Cependant mon problème reste que je ne vois pas comment lui déclaré la source ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mediaElement Music = new mediaElement();
     
    Music.source = "??"; /// Que rentrer dans la source étant donné que la music se trouve dans la mémoire interne du téléphone et impossible de connaitre son chemin
    Si quelqu'un aurait une idée pour retirer la source "URi" d'une musique stocké dans la librairie (sur la mémoire interne du téléphone ) sa serait sympa de la faire partagé.. sa va faire de cela , 1 semaine que je tourne autours! A croire qu'il n'y ait pas de solution.snifff

  9. #9
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    Est-ce que cet exemple serait transposable avec le type MediaElement

    http://msdn.microsoft.com/en-us/libr...spx#BKMK_Photo

  10. #10
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Bonjour,

    Si on reprend ton code :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    foreach( var source in mediaSource.GetAvailableMediaSource())
    {
    mediaelement test= new mediaelement(); 
    ml =new MediaLibrary(source);
    mediaelement test = ml.songs[1]; // !!!! Erreur ici!!!
    }

    Je ne pense pas que ton code compile car il déclare deux fois la variable locale test et que la méthode GetAvailableMediaSource prend un s.

    Tu peux essayer ça :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
            // Constructor
            public MainPage()
            {
                InitializeComponent();
     
                // Pour que XNA fonctionne correctement en Silverlight
                FrameworkDispatcher.Update();
            }
     
            private void button1_Click(object sender, RoutedEventArgs e)
            {
                // Joue la première chansons trouvé
     
                foreach (MediaSource source in MediaSource.GetAvailableMediaSources())
                {
                    if (source.MediaSourceType == MediaSourceType.LocalDevice)
                    {                    
                        MediaLibrary library = new MediaLibrary(source);
     
                        if (library.Songs.Count > 0)
                        {                        
                            MediaPlayer.Stop();
                            MediaPlayer.Play(library.Songs, 0);
     
                            break;
                        }
                    }
                }
            }

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2010
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    Merci beaucoup samuel pour ta correction !
    Effectivement sa marche nikel avec le mediaPlayer, mais cependant j'aimerais pouvoir lire ma music "library.song[0]" avec un "mediaELement" et non avec le "mediaPlayer"...
    Etant donné que les fonctions apporté pour le "mediaplayer" sont très limité par rapport a "mediaelement"..
    Par exemple il est impossible dêffectuer une avance rapide avec le mediaplayer...
    Mon but etant de faire une application -> DJ j'aimerais pouvoir utiliser un mediaElement

  12. #12
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Sorry tu l'avais bien notifié dans ta demande
    Je vais regarder mais je ne pense pas que cela soit possible.

  13. #13
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2010
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    Pas de souci ! En tout cas je te remercie beaucoup ^^ C?est fort gentil de ta part de m'aider..

  14. #14
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Apparement c'est possible d'importer un mp3 vers un objet Song à partir d'une URI :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Song s = Song.FromUri("toto", new Uri("http://monUri/MonMp3.mp3") );

    Mais pas trouvé comment importer une Song dans un MediaElement. Cela n'est sans doute pas possible pour des raisons de protection de la donnée et/ou de sécurité mais bon c'est assez frustrant.

  15. #15
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2010
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    Heyy merci beaucoup en tout !! Vraiment sympa..

    Effectivement cela est plutôt frustrant ... voir même enooormement sniff

    Rien qu'à cause de cela je ne puis terminer mon appli

  16. #16
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Tu peux peut être partir sur des samples prédéfinies, ou télécharger les mp3 d'internet.

  17. #17
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2010
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    mhhh oui effectivement lol ....une solution serait d'uploader une music se trouvant dans la librairie puis de la re-telecharger pour la placer ds un "mediaelement" ! Mais je trouve cela très dommage..et surtout trop long xD

    En passant -> ton blog me plait bien A suivre de près

  18. #18
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    j'ai vu

  19. #19
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2010
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    Sinon personne n'aurait une idée pour effectuer une avance rapide ou un retour rapide sur une musique avec le "mediaPlayer" ?
    S'il ont aussi bloqué sa je crack lol....sa voudrait rien dire !
    Dailleurs on peut très bien le faire depuis Zune sur le mobile..

  20. #20
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Sinon personne n'aurait une idée pour effectuer une avance rapide ou un retour rapide sur une musique avec le "mediaPlayer" ?
    Je ne pense pas que cela soit possible malheureusement vu que PlayPosition est une propriété ReadOnly.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  3. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  4. Recuperer les criteres d'une requete pour une autre requete
    Par mycrodom dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 24/01/2007, 06h50
  5. Réponses: 2
    Dernier message: 18/12/2006, 19h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo