Я преобразовал локальный звуковой файл в ресурс, который встроил его в мой XAML:
<UserControl.Resources>
<my:Uri x:Key="SoundFiles">file:///c:/Audio/HebrewDemo/Shalom.wav</my:Uri>
</UserControl.Resources>
Я сделал это, вставив имя файла mp3 локального диска в источник, затем щелкнув «точку» рядом с источником и выбрав «Извлечь значение в ресурс».
Когда я запускаю, он сообщает мне, что «URI» недействителен, и, конечно же, в Intellisense я вижу другие элементы, которые начинаются с «uri», но не только сам URI.
В реальном мире я хочу указать динамическое имя файла mp3. Например, у меня может быть база данных слов на иностранном языке, используемых для карточек, я хочу воспроизвести звуковой файл по URL-адресу. Но я думала, что перед бегом попробую пройтись ...
Сейчас пробую это:
mediaElement1.Source = new Uri(
"http://HebrewResources.com/SoundFiles/Shalom.mp3",
UriKind.Absolute);
mediaElement1.Play();
Строка состояния в браузере FireFox показывает, что некоторые данные передаются с веб-сайта. Однако я никогда не слышу звука. Может это просто проблема с кодировкой? Могу ли я получить сообщение об ошибке, если он не закодирован должным образом?
Кроме того, могу ли я поместить оператор Uri в загрузку или заставить его работать в фоновом режиме, чтобы пользователь мог читать экран во время загрузки звукового файла? Другими словами, когда он нажимает кнопку, чтобы прослушать звуковой файл, в идеале он должен быть предварительно загружен для него. В этом приложении для изучения языков пользователь увидит слово на иностранном языке и попытается произнести его сам, а затем нажмет кнопку «Воспроизвести», чтобы услышать звук и проверить свои результаты.