私はこれを画像ファイルで試しました.uriに関する限り、それは単なる別のリソースであるため、サウンドファイルと同じように機能します. あなたが持っているものと本質的に一致する以下のコードを使用しました。
new Uri(@"pack://application:,,,/Resources/logo.png")
「メディア」フォルダーが他のフォルダーにネストされていないことを確認してください。その場合は、そのフォルダーも含める必要があります。
.NET Framework 4.0、VS2012 を使用。
このリンクは、物事の「パック」スキーム全体のかなり良い説明を提供します。
編集
このトピックに関するさらなる調査によると、オーディオ ファイルやビデオ ファイルではやりたいことを実行できない可能性があることが示されています。以下の抜粋は、この MSDN ページのコメント セクションからの抜粋です。
Extensible Application Markup Language (XAML) でこのクラスのインスタンスを宣言できますが、コードを使用せずにそのメディアを読み込んで再生することはできません。XAML のみでメディアを再生するには、MediaElement を使用します。また、XAML でインスタンスを宣言する場合、唯一の実用的な用途は、Player プロパティのプロパティ要素構文を埋めることです。
アプリケーションでメディアを配布する場合、メディア ファイルをプロジェクト リソースとして使用することはできません。プロジェクト ファイルでは、代わりにメディア タイプを Content に設定し、CopyToOutputDirectory を PreserveNewest または Always に設定する必要があります。
MediaPlayer は、プレーヤーを動かしているものに応じて、独立モードまたはクロック モードの 2 つの異なるモードで使用できます。独立モードでは、MediaPlayer は画像に似ており、Open メソッドで開かれたメディアが再生を駆動します。クロック モードでは、MediaPlayer はアニメーションのターゲットと考えることができるため、再生を制御するタイミング ツリーに、対応するタイムラインとクロックのエントリがあります。メディア モードの詳細については、マルチメディアの概要を参照してください。
MediaPlayer は、アプリケーションのユーザー インターフェイス (UI) に直接追加できるコントロールではないという点で MediaElement とは異なります。MediaPlayer を使用して読み込まれたメディアを表示するには、VideoDrawing または DrawingContext を使用する必要があります。