Невозможно воспроизвести mp3 с MediaElement на эмуляторе WP7 - PullRequest
0 голосов
/ 06 января 2012

У меня есть приложение, в котором у меня есть какой-то предварительно записанный текст в речь (так как нет поддержки по умолчанию для текста в речь), тогда я хочу воспроизвести их следующим образом

var mediaElement = new MediaElement();
mediaElement.Source = new Uri("sound.mp3", UriKind.Relative);
mediaElement.Position = new TimeSpan(0);
mediaElement.Play();

Но ничего не происходит, могу ли яДолжны ли вы создать «настоящий» элемент управления в моем интерфейсе?Я просто хочу воспроизвести этот звук, когда происходит событие, я не получаю ошибок или ничего, nomatter, если mp3 находится в папке по умолчанию или нет.

Ответы [ 2 ]

4 голосов
/ 06 января 2012

Причина, по которой он не воспроизводится, заключается в том, что вы не добавили его в дерево визуалов. Когда вы создаете MediaElement программно, его нужно добавить где-нибудь в дереве. Вам придется создать «реальный контроль» в вашем пользовательском интерфейсе, но его не нужно видеть.

var mediaElement = new MediaElement();
mediaElement.Source = new Uri("sound.mp3", UriKind.Relative);
mediaElement.Position = new TimeSpan(0);
LayoutRoot.Children.Add(mediaElement); //Add to visual tree
mediaElement.Play();
0 голосов
/ 06 января 2012

Это зависит от того, что происходит в вашем коде после объявления mediaElement.В настоящее время, как только метод, который вы объявите в конце, mediaElement выйдет из области видимости и получит право на сборку мусора.

Вам необходимо:

  • Parent mediaElement к чему-то, возможно, ваш пользовательский интерфейс
  • Сделать mediaElement статическим полем для класса

Все, что сказано, это воспроизведение через MediaElement, поддерживаемое в эмуляторе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...