Очевидно, что
System.Windows.Controls.MediaElement
- это элемент управления.Его необходимо добавить в визуальное дерево Silverlight, чтобы оно работало полностью корректно.
Вот код для предварительной загрузки песни:
mediaElement.AutoPlay = false;
mediaElement.Source = new Uri("/content/something.mp3", UriKind.Relative);
(Музыка лучше всего добавлять в проект и устанавливать с помощьюBuild Action = Нет, и Copy to Output Directory = Copy, если новее. Это поместит его рядом с XAP.)
Это позволяет песне начать загрузку в фоновом режиме без воспроизведения.Чтобы проверить, когда он закончил предварительную загрузку, подключите mediaElement.DownloadProgressChanged
и проверьте mediaElement.DownloadProgress == 1
.Хук MediaFailed
сообщит вам, если загрузка не удалась.
Песня может быть запущена без ожидания завершения загрузки.А MediaElement будет правильно кэшировать полностью загруженную песню в кеш браузера.