Проблемы с выяснением воспроизведения WAV-файла

1

Задача должна быть простой. У меня есть изображение с "Tapped" даже обработчиком, и я хочу воспроизвести wav файл при его нажатии.

<Image x:Name="Snd_abort_1" Width="100" Height="100" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0" Source="Assets/Tiles/A/abort_1.png" Tapped="Snd_abort_1_Tapped"></Image>

private void Snd_abort_1_Tapped(object sender, TappedRoutedEventArgs e)
    {
        MediaElement myMediaElement = new MediaElement();
        myMediaElement.AutoPlay = false;
        myMediaElement.Source = new Uri("ms-appx:///Assets/Sounds/DukeNukem/abort.wav");
        myMediaElement.Play();
    }

Изображение 174551

По какой-то причине это не работает. Я попытался отладить щелчок, и он срабатывает, но нет ошибки, нет звука.

Я пробовал как в эмуляторе, так и на моем устройстве Lumia 930.

Что я упускаю?

  • 0
    Я отредактировал ваш заголовок. Пожалуйста, смотрите: « Должны ли вопросы включать« теги »в их заголовки? », Где консенсус «нет, они не должны».
  • 0
    У меня есть теги? Если так извините. и спасибо за исправление названия.
Показать ещё 1 комментарий
Теги:
audio
visual-studio-2013
windows-phone-8

1 ответ

1
Лучший ответ

Вам не нужно префиксные файлы с ms-appx: просто сделайте

myMediaElement.Source = new Uri("Assets/Sounds/DukeNukem/abort.wav", UriKind.Relative);
myMediaElement.Play();

К сожалению, хотя это правильно. Этот подход с кодовым подходом все равно не сработает. Поскольку myMediaElement не является частью VisualTree (потому что вы сделали это динамически).

Чтобы исправить это, просто добавьте его в корневую сетку/панель

myMediaElement.Source = new Uri("Assets/Sounds/DukeNukem/abort.wav", UriKind.Relative);
this.ContentPanel.Children.Add(myMediaElement);
myMediaElement.Play();

Теперь он должен хорошо играть со всем.

  • 0
    Спасибо за ответ на мой вопрос и за подсказку о префиксе. Я назвал свой RootElement, который является Grid, отредактировал строку uri и прикрепил медиаэлемент, но теперь я получаю сообщение об ошибке: «Данный System.Uri не может быть преобразован в Windows.Foundation.Uri». Я потратил около часа на поиск и отладку и не могу понять, хотя это выглядит довольно само собой разумеющимся. WAV-файл настроен на копирование всегда (необходимо ли копировать?), И путь выглядит правильным. Любые подсказки, что это?
  • 0
    Я понял, что нет. У меня была установлена автоматическая игра в false. Когда я установил, что это правда, это сработало.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню