我正在写一个HTML页面.我想让它发出声音,正如它运行时的一些javascript所指定的那样.
在html中,正如我在这里读到的答案所推荐的,我有这条线
<embed src="wavs/beep.wav" autostart="true" width="0" height="0" id="beep"
enablejavascript="true">
Run Code Online (Sandbox Code Playgroud)
这会在加载时播放声音,因此我确信我已经为有效的.wav文件提供了有效路径.(一旦一切正常,我会将自动启动设置为false.)
我有一个功能
function playSound ( soundname )
{
var thissound = document.getElementById( soundname );
thissound.Play();
alert( "Played " + soundname );
}
Run Code Online (Sandbox Code Playgroud)
我打电话使用
playSound( "beep" );
Run Code Online (Sandbox Code Playgroud)
但是当进行该呼叫时,虽然发生了警报,但没有声音.它看起来像我在推荐的方式做一切,但我一定有错.我接下来应该检查什么?
我有这样的代码:
my @e = ( '($i,$j, $k,$l)', '($i,$k, $j,$l)', '($i,$l, $j,$k)',
'($j,$k, $i,$l)', '($j,$l, $i,$k)', '($k,$l, $i,$j)'
);
#
# Assign various sets of values to $i,$j,$k,$l
#
foreach ( @e ) {
my ($a,$b, $c,$d) = eval $_;
#
# Do calculations based on the values of $a,$b,$c,$d
#
Run Code Online (Sandbox Code Playgroud)
这一切都按我的意图工作。但是像这样使用eval感觉很笨拙。我觉得必须有更好的方法来循环这四个值的六个排列。我尝试了各种方法,但没有发现任何有效的方法,所以我又重新使用 eval。