2015-09-15 22 views
7

Bunu deneyin:Bir UWP uygulamasında .mp3 (veya başka bir) dosya nasıl oynatılır?

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(); 

Artık hata iletileri (catch delip çalışır deneyin) ekranda görünür.

Kısa açıklama için özür dilerim ... İngilizce'yi çok iyi okuyup anlayabiliyorum ama konuşmak ve yazmak benim için zor.

Yardımlarınız ve cevaplarınız için teşekkürler!

+0

tek tırnak etrafında uzun dosya adı sarma deneyin ya sahip olmak dosyayı yeniden adlandırmak: Eğer kaynak ayarladığınızda

C# yılında
<MediaElement x:Name="myPlayer" AutoPlay="True" /> 

, mySong.mp3 oynayacak: XAML içinde , bir oyuncu eklemek boşluk olmaması ve – MethodMan

+0

'un işe yarayıp yaramadığına bakın. :/ –

+0

'C: \ Kullanıcılar \ KullanıcıAdı \ Desktop \ C: \ Users \ paulk \ Desktop \ Alarmı Öldür - Begin.mp3' geçerli bir yol değil, alt dizini Desktop klasörünüze tekrarlıyorsunuz. – Dai

cevap

10

Her Windows Mağazası Uygulamasının üç klasörü vardır. Bir Yerel klasör, bir Gezici klasör ve bir Temp klasörü. Her birine aynı şekilde erişilir. Yerel, varlıkları yerel, uygulamaya özgü bir klasörde depolamak anlamına gelir.

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: Burada

cevaptır.

0

MediaFailed-MediaElement öğesinin kaydını yapın ve yükseltilip yükseltilmediğini kontrol edin. ExceptionRoutedEventArgs, yönteme aktarıldı, dosya hakkında niçin oynatılmayacağı hakkında bilgi içermelidir.

+0

İyi fikir ama hata değil –

+0

Çözümünüzdeki ses dosyasını eklemeyi deneyin ve URI'yi değiştirin. –

+0

PlayMusic.Source = new Uri (@ "ms-appx: //Sleep/Media/KillTheAlarm.mp3"); Değişiklik yok:/ –

4

Dosya sisteminizdeki herhangi bir dosyayı windows deposu uygulamaları ile bu şekilde okuyamazsınız.

sadece bunu test etmek isterseniz

:
  1. değiştirme
  2. Visual Studio
  3. yılında projenize dosya ekleyin dosyan yok "Eylem İnşa" "İçerik" olarak ayarlayın.
  4. "Kopyalama Dizini'ne Kopyala" seçeneğini "Her Zaman Kopyala" olarak değiştirin. muhtemelen ne yapmak istiyorum

this article bir Seçici o/w, bölümdeki Oku Yerel dosyalar açıklanmıştır. This da yardımcı olabilir.

+0

Yeaaaaah! Çok teşekkürler! Yaptım! (çözümü cevap olarak gönderdim!) –

2

mySong.mp3 öğesini Varlıklar klasörünüze koyun. Sonra Visual Studio'da, Varlıklar klasörünüze sağ tıklayın ve "mevcut öğeyi ekle" yi seçin. MySong.mp3 Öğeler klasörünüzden ekleyin.

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