0

オークションサイトに音を埋め込もうとしています。誰かが入札するたびに音が鳴るようにしてほしい。<embed>指定された ID で単純なタグを試し、次にsound.play()JavaScript を使用しました。

サウンドは再生されますが、IE では、新しいユーザーは「Web サイトを信頼する場合」にメディア プレーヤー拡張機能をインストールするように求められます。

このメッセージなしで再生する方法はありますか。次のコードはページにあります。

HTML では:

<embed src="success.wav" autostart="false" width="0" height="0" id="sound1" 
       enablejavascript="true">

Javascript では:

function PlaySound(soundObj) {

  var sound = document.getElementById(soundObj);
  sound.Play();
}

そして、関数への呼び出し:

PlaySound("sound1");
4

2 に答える 2

1

このソリューションはサウンドマネージャー2でうまく機能しました。インストールファイル全体は2.8MBですが、実際に使用されたのはごく一部だと思います。

私がしたことは、ヘッダーに次のコードを入れることです。

<script type="text/javascript">

soundManager.url = '<?php echo $root_address; ?>/js/soundmanager/swf/'; 
soundManager.debugMode = false;

soundManager.onload = function() {
  var mySound = soundManager.createSound({
    id: 'aSound',
    url: '<?php echo $root_address; ?>/success.mp3'
  });
}
</script>

そして、サウンドの再生関数の呼び出しを次のコードに置き換えました。

soundManager.play('aSound');

私はそれを行うために最も単純なAPIを使用しました。

再度、感謝します!

于 2009-12-10T20:10:41.983 に答える
1

ユーザーに Flash を要求することに抵抗がない場合は、SoundManager2をお勧めします。バックグラウンドで Flash を使用しますが、すべて JavaScript で構成されており、非常にカスタマイズ可能です。

ブラウザで完全にネイティブに実行したい場合は、<audio>タグを使用できますが、最新のブラウザでしか機能しないことがわかります。また、クロスブラウザの問題がまだいくつかあります。この Ajaxianの記事では、その方法と、どのブラウザーがどのオーディオ形式をサポートしているかについての概要を説明しています。

PS 個人的な意見ですが、よろしければ、ユーザーに確認せずにバックグラウンド サウンドや音楽を再生しないでください。自動再生は行わず、常にユーザーにサウンドを停止またはミュートするオプションを提供します。

于 2009-12-10T19:17:01.883 に答える