Относительные URI работает для растрового использования, но не для MediaPlayer?

StackOverflow https://stackoverflow.com/questions/2625608

Вопрос

Это будет просто для вас, ребята:

var uri = new Uri("pack://application:,,,/LiftExperiment;component/pics/outside/elevator.jpg");
imageBitmap = new BitmapImage();
imageBitmap.BeginInit();
imageBitmap.UriSource = uri;
imageBitmap.EndInit();
image.Source = imageBitmap;

=> Работает отлично работает на .jpg с действием сборки: копирование контента в каталог вывода: скопировать всегда

MediaPlayer mp = new MediaPlayer();
var uri = new Uri("pack://application:,,,/LiftExperiment;component/sounds/DialingTone.wav");
mp.Open(uri);
mp.Play();

=> Не работает на .wav с тем же действием и копией для вывода. Я вижу файл в моем / отладевании / папке ..

MediaPlayer mp = new MediaPlayer();
var uri = new Uri(@"E:\projects\LiftExp\_solution\LiftExperiment\bin\Debug\sounds\DialingTone.wav");
mp.Open(uri);
mp.Play();

=> Работает отлично ..

Итак, как я могу получить звук на работу с относительным путем? Почему это не работает таким образом? Дайте мне знать, если вы хотите больше кода или скриншотов.

Спасибо.

Это было полезно?

Решение

Пакет: // Синтаксис URI приложения Для файлов «встраивать», убедитесь, что файл медиа-файла установлен на это или используйте пакет: // SiteOforigin для «свободных» файлов (скопированных в каталог BIN).

MSDN Link.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top