2015-09-15 20 views
7

próbuję to:Jak odtwarzać plik .mp3 (lub inny) w aplikacji UWP?

PlayMusic = new MediaElement(); 
      PlayMusic.AudioCategory = Windows.UI.Xaml.Media.AudioCategory.Media; 

      PlayMusic.Source = new Uri(@"C:\Users\UserName\Desktop\C:\Users\user\Desktop\Kill The Alarm - Begin Again.mp3"); 
      PlayMusic.Play(); 

Nie więcej komunikatów o błędach wyświetlane na ekranie (spróbuj złapać biegnie przez czysty).

Przepraszam za krótki opis ... Potrafię dobrze czytać i rozumieć angielski, ale trudno mi mówić i pisać.

Dzięki za pomoc i odpowiedź!

+0

spróbować owijania długiej nazwy pliku wokół apostrofami lub zmienić nazwę pliku, aby mieć bez spacji i zobacz, czy działa – MethodMan

+0

bez zmian w ten sposób. :/ –

+0

'C: \ Users \ nazwa_użytkownika \ Desktop \ C: \ Users \ paulk \ Desktop \ Kill Alarm - Begin Again.mp3' nie jest prawidłową ścieżką, powtarzasz podciąg do folderu Desktop. – Dai

Odpowiedz

10

Każda aplikacja Windows Store ma trzy foldery. Folder lokalny, folder mobilny i folder Temp. Każdy jest dostępny w ten sam sposób. Lokalny służy do przechowywania zasobów w lokalnym folderze specyficznym dla aplikacji.

Oto odpowiedź:

StorageFolder Folder = Windows.ApplicationModel.Package.Current.InstalledLocation; 
       Folder = await Folder.GetFolderAsync("MyFolder"); 
       StorageFile sf = await Folder.GetFileAsync("MyFile.mp3"); 
       PlayMusic.SetSource(await sf.OpenAsync(FileAccessMode.Read), sf.ContentType); 
       PlayMusic.Play(); 

MFG.

0

Zarejestruj numer MediaFailed -Wedunek MediaElement i sprawdź, czy został podniesiony. Wyjątek ExceptionRoutedEventArgs przekazany do metody powinien zawierać informacje o tym, dlaczego nie można odtworzyć pliku.

+0

Dobry pomysł, ale nie błąd –

+0

Spróbuj włączyć plik audio do swojego rozwiązania, a następnie zmień URI –

+0

PlayMusic.Source = new Uri (@ "ms-appx: //Sleep/Media/Kill TheAlarm.mp3"); Bez zmian:/ –

4

Nie można po prostu odczytywać żadnego pliku w systemie plików w ten sposób z aplikacjami Windows Store.

Jeśli chcesz tylko przetestować go:

  1. Dodaj plik do projektu w Visual Studio
  2. Zmień plik w „Budowanie akcji” do „Zawartość”.
  3. Zmień "Kopiuj na katalog wyjściowy" na "Kopiuj zawsze".

Co prawdopodobnie chcesz zrobić jest opisane w sekcji odczytać pliki lokalne w/o próbnik z this article. This może być również pomocny.

+0

Yeaaaaah! Dziękuję Yo Much! Ja to zrobiłem! (zamieszczam rozwiązanie jako odpowiedź!) –

2

Umieść mySong.mp3 w folderze Zasoby. Następnie w Visual Studio kliknij prawym przyciskiem myszy na folderze Zasoby i wybierz "dodaj istniejący element". Dodaj mySong.mp3 z folderu Assets. w XAML, dodać zawodnik:

<MediaElement x:Name="myPlayer" 
AutoPlay="True" /> 

w C#, mySong.mp3 zagra po ustawieniu źródło:

Uri newuri = new Uri("ms-appx:///Assets/mySong.mp3"); 
myPlayer.Source = newuri;