2015-09-15 13 views
7

tôi cố gắng này:Cách phát tệp .mp3 (hoặc tệp khác) trong ứng dụng 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(); 

Không có nhiều thông báo lỗi xuất hiện trên màn hình (thử bắt chạy sạch thông qua).

Xin lỗi vì mô tả ngắn ... Tôi có thể đọc và hiểu tiếng Anh rất tốt nhưng rất khó để tôi nói và viết.

Cảm ơn tất cả sự giúp đỡ và trả lời của bạn!

+0

thử bao tên tập tin dài xung quanh dấu nháy đơn hoặc đổi tên tập tin có không có khoảng trống và xem nó có hoạt động không? – MethodMan

+0

không có thay đổi nào theo cách này. :/ –

+0

'C: \ Users \ UserName \ Desktop \ C: \ Users \ paulk \ Desktop \ Kill Báo thức - Bắt đầu lại.mp3' không phải là đường dẫn hợp lệ, bạn đang lặp lại chuỗi con vào thư mục Desktop của mình. – Dai

Trả lời

10

Mỗi ứng dụng Windows Store có ba thư mục. Một thư mục cục bộ, một thư mục Roaming và một thư mục Temp. Mỗi được truy cập theo cùng một cách. Địa phương có nghĩa là lưu trữ nội dung trong thư mục cục bộ, ứng dụng cụ thể.

Dưới đây là câu trả lời:

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

Đăng ký MediaFailed -Event of the MediaElement và kiểm tra xem nó có được nâng lên hay không. Các ExceptionRoutedEventArgs được truyền cho phương thức, nên chứa thông tin về, tại sao không thể phát tệp.

+0

Ý tưởng hay nhưng không phải lỗi –

+0

Hãy thử bao gồm tệp âm thanh trong giải pháp của bạn và sau đó thay đổi URI –

+0

PlayMusic.Source = new Uri (@ "ms-appx: //Sleep/Media/KillTheAlarm.mp3"); Không có thay đổi:/ –

4

Bạn không thể chỉ đọc bất kỳ tệp nào trên hệ thống tệp của mình như thế này bằng các ứng dụng lưu trữ cửa sổ.

Nếu bạn chỉ muốn thử nghiệm nó:

  1. Thêm tập tin để dự án của bạn trong Visual Studio
  2. Thay đổi của tập tin của bạn "Xây dựng hành động" để "Nội dung".
  3. Thay đổi "Sao chép sang thư mục đầu ra" thành "Sao chép luôn".

gì có thể bạn muốn làm là giải thích trong phần, Đọc các tệp Local w/o một Picker từ this article. This cũng có thể hữu ích.

+0

Yeaaaaah! Cảm ơn bạn Yo nhiều! Tôi đã làm nó! (tôi đăng giải pháp là Câu trả lời!) –

2

Đặt mySong.mp3 vào thư mục Nội dung của bạn. Sau đó, trong Visual Studio, nhấp chuột phải vào thư mục Tài sản của bạn và chọn "thêm mục hiện có". Thêm mySong.mp3 TỪ thư mục Nội dung của bạn. Trong XAML, thêm một cầu thủ:

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

Trong C#, mySong.mp3 sẽ đóng khi bạn thiết lập các nguồn:

Uri newuri = new Uri("ms-appx:///Assets/mySong.mp3"); 
myPlayer.Source = newuri; 
Các vấn đề liên quan