2016-05-05 1 views
0

Essayer de l'excès de dossier de musique sur le téléphone Windows 8.1 mais l'application suivante obtenir Exception:Obtenir des fichiers de bibliothèque musicale

System.Reflection.TargetInvocationException était unhandled Message: Une exception non gérée du type 'System.Reflection.TargetInvocationException' a eu lieu dans System.Windows.ni.dll Informations supplémentaires: Exception a été levée par la cible d'une invocation.

Voici le code: Appel

try 
{ 
    GetFiles(); 
} 
catch (Exception ex) 
{ 
    Debug.WriteLine(ex.Message); 
} 

private async void GetFiles() 
{ 
    StorageFolder folder = KnownFolders.MusicLibrary; 
    IReadOnlyList<StorageFile> listOfFiles; 
    if (folder!=null) 
    { 
     listOfFiles =await folder.GetFilesAsync(); //this line casuing Debugger.break(); 
    } 
} 
+0

Avez-vous ajouté la capacité dans le paquet fichier manifeste – Archana

+0

oui bien sûr ... –

+0

Essayez le code i posté. J'espère que cela fonctionne – Archana

Répondre

1

Ajouter capacité de la bibliothèque musicale dans le fichier package.appmanifest

Ensuite, essayez ce code. Il a travaillé pour moi

StorageFolder folder = KnownFolders.MusicLibrary; 
    if (folder!=null) 
    { 
     var songs = (await folder.GetFilesAsync(Windows.Storage.Search.CommonFileQuery.OrderByName)).ToList(); 
    } 

Link to Sample Code

+0

'(expéditeur d'objet, RoutedEventArgs e) privé async vide LayoutRoot_Loaded {{ essayer dossier StorageFolder = KnownFolders.MusicLibrary; if (dossier! = Null) { var chansons = (pending dossier.GetFilesAsync (CommonFileQuery.OrderByName)). ToList(); Debug.WriteLine ("count =" + songs.Count); } } catch (Exception e1) { Debug.WriteLine ("exception lors de l'obtention de fichiers:" + e1.StackTrace); } } ' –

+0

Cela a-t-il fonctionné ?? ou obtenir des exceptions? – Archana

+0

La méthode ou l'opération n'est pas implémentée exception –

0

essayer.

fonctionne parfaitement sur de Windows 8.1 Universal

  FileOpenPicker openPicker = new FileOpenPicker(); 
      openPicker.ViewMode = PickerViewMode.Thumbnail; 
      openPicker.SuggestedStartLocation = PickerLocationId.MusicLibrary; 
      openPicker.FileTypeFilter.Add(".mp3"); 
      openPicker.FileTypeFilter.Add(".wav"); 
      openPicker.FileTypeFilter.Add(".mp4"); 

      var file = await openPicker.PickSingleFileAsync(); 

      try 
      { 
       var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read); 
       playbackElement3.SetSource(stream, file.ContentType);//Play Selected 

       playbackElement3.Play(); 

      } 
      catch (Exception ex) 
      { 

      } 

puis essayer d'obtenir la liste de la source

+0

appréciez votre code mais je ne veux pas choisir le dossier en utilisant le sélecteur! Je veux obtenir le fichier en utilisant KnownFolders.MusicLibrary.GetFilesAsync(); méthode –

+0

je suis désolé d'apprendre que ... mon mauvais – BooDoo