相対URIは、MediaPlayerのためのBitmapImageのために動作しますが、ありませんか?

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構文は、必ずメディアファイルがそれに設定、またはパックを使用されていることを確認し、ファイルを「埋め込む」のためである:。(binディレクトリにコピーされた)「緩やかな」ファイルのための// siteoforiginを

MSDNリンクする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top