6

在我的网页中,我想在当前时间等于 时播放声音,例如下午 5:00。

我所做的是:

<script type='text/css'>
var d = new Date();
var m = d.getMinutes();
var h = d.getHours();
if (h == 17 && m == 00){
document.write = "<embed src =\'notify.mp3\' hidden=\'true\' autostart=\'true\' loop=\'true\'></embed>";
}
</script>

我寻找了一个播放声音的特定功能,但我发现document.write它不起作用并且没有意义。

任何建议我应该做什么

4

3 回答 3

4

在 JS 中试试这个:

 <script>
var d = new Date();
var m = d.getMinutes();
var h = d.getHours();
if (h == 17 && m == 00){
      var sound = document.getElementById(sound1);
      sound.Play();
}
</script>

不要忘记在 HTML 中添加这个

<embed src="notify.mp3" autostart="false" width="0" height="0" id="sound1"
enablejavascript="true">
于 2013-04-25T08:21:19.437 回答
1

尝试这样的事情。

document.getElementById("dummy").innerHTML= "<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";

使用元素

该标签定义了一个外部(非 HTML)内容的容器。以下代码片段应该播放嵌入在网页中的 MP3 文件:

例子

<embed height="50" width="100" src="horse.mp3">

或者试试

尝试使用此修订版本的函数 play()

function play() 
{
  var embed=document.createElement('object');
  embed.setAttribute('type','audio/wav');
  embed.setAttribute('data', 'c:\test.wav');
  embed.setAttribute('autostart', true);
  document.getElementsByTagName('body')[0].appendChild(embed);
}

参考:http : //www.w3schools.com/html/html_sounds.asp

http://webdesign.about.com/od/sound/a/play_sound_oncl.htm

用 JavaScript 播放声音

于 2013-04-25T08:19:49.883 回答
0

我假设您正在尝试创建类似警报的功能。这是我要做的:

var delay = 60000; // in milliseconds, check every minute
var intervalId = setInterval("playWhenReady()", delay);

function playWhenReady()
{
    var d = new Date();
    var h = d.getHours();
    var m = d.getMinutes(); 

    if (h === 17 && m === 00)
    {
        playSound('notify.mp3');
        clearInterval(intervalId);              
    }
}

function playSound(soundFile)
{
    var audioElement = document.createElement('audio');
    audioElement.setAttribute('src', soundFile);
    audioElement.play();
}
于 2013-04-25T09:27:46.403 回答