Relative Uri works for BitmapImage, but not for MediaPlayer?

Posted by Thomas Stock on Stack Overflow See other posts from Stack Overflow or by Thomas Stock
Published on 2010-04-12T21:31:14Z Indexed on 2010/04/12 21:32 UTC
Read the original article Hit count: 551

Filed under:
|
|
|

This will be simple for you guys:

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;

=> Works perfectly on a .jpg with Build Action: Content Copy to Output Directory: Copy always

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

=> Does not work on a .wav with the same build action and copy to output. I see the file in my /debug/ folder..

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

=> Works perfectly..

So, how do I get the sound to work with a relative path? Why is it not working this way? Let me know if you want more code or screenshots.

Thanks.

© Stack Overflow or respective owner

Related posts about wpf

Related posts about relative-path