8

ボタンをクリックすると、Web ページでサウンドを再生したいと考えています。これは私のコードですが、エラーが表示されます。

SoundPlayer x = new SoundPlayer();
x.SoundLocation = "WindowsBalloon.wav";
//x.Play();
x.PlaySync();

エラー:

指定した場所にサウンド ファイルが存在することを確認してください。

しかし、ファイルは私のプロジェクトに存在し、アドレスが正しいと確信しています。

4

8 に答える 8

12

System.Media.Soundplayerクラスを使用して Web ページ上のファイルを再生することはできません!!!

理由

クライアント側ではなくサーバー側でサウンドを再生します。

以下のリンクで述べたように
- Web ホスト上の C# System.Media.SoundPlayer クラスの問題
-自動再生サウンドの最も「互換性のある」方法は何ですか?

解決

  • その他SOこれと同じ要件について回答します。
  • その他の Flash または Silverlight ベースのプラグインを使用します。
  • html 埋め込みタグまたは html5 オーディオ タグを使用します。例はw3schoolsで見ることができます

Html5 ベースのオーディオ ソリューション (最新のブラウザーでのみ動作)

  • <embed>tag:<embed>タグは、外部 (非 HTML) コンテンツのコンテナを定義します。(これは HTML5 タグであり、HTML 4 では無効ですが、すべてのブラウザーで機能します)。
<embed height="100" width="100" src="horse.mp3" />
  • <object>tag:<object>タグは、外部 (非 HTML) コンテンツのコンテナを定義することもできます。
<object height="100" width="100" data="horse.mp3"></object>
  • <audio>tag: この<audio>要素は HTML5 要素であり、HTML 4 では無効ですが、すべてのブラウザーで機能します。
<audio controls="controls" height="100" width="100">
  <source src="horse.mp3" type="audio/mp3" />
  <source src="horse.ogg" type="audio/ogg" />
  <embed height="100" width="100" src="horse.mp3" />
</audio>

ビデオを別の形式に変換する必要がある html5 ベースのソリューションの問題に注意してください。
-<audio>要素は HTML 4 および XHTML として検証されません。
-<embed>要素は HTML 4 および XHTML として検証されません。
- この<embed>要素は、エラーを表示するために「フォールバック」することはできません。

于 2012-09-08T08:33:40.767 に答える
5

<object>または <embed>htmlタグを使用する必要があります。

<object data="WindowsBalloon.wav"></object>

またはHTML5鬼ごっこ

<audio src="WindowsBalloon.wav">
  <p>Your browser does not support the audio element.</p>
</audio>
于 2012-09-08T08:24:56.623 に答える
1

これはあなたが欲しいと思うものです:

Server.MapPath(string path);

Web サーバー上の指定された仮想パスに対応する物理ファイル パスを返します。

パラメータ: path: Web サーバーの仮想パス。
戻り値: path に対応する物理ファイル パス。

SoundPlayer s = new SoundPlayer();<br>
s.SoundLocation = **Server.MapPath("WindowsBalloon.wav");**<br>
s.PlaySync();
于 2014-06-06T19:11:37.410 に答える
0

指定されたフルパス、つまりc:\wavfiles\WindowsBalloon.wav

上記の「wavfiles」はユーザー特権フォルダーです。

use x.PlayLooping()

サウンドファイルを連続再生したい場合の機能

気をつけて!

1 つのボタンを使用してループを終了します。そうしないと、サウンド ファイルが継続的に実行されます。ループを終了することをお勧めします: -

コード

 Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        x.Stop()
    End Sub
于 2014-03-15T06:28:51.943 に答える
-1

「C:/WindowsBalloon.wav」などのドライブ文字をパスに追加してみてください。しかし、これはクライアント側では再生されません。クライアント側でHTML5を試すことをお勧めします。

于 2012-09-08T08:24:59.973 に答える