<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script> </head> <body> <h1>SoundPlay</h1> <p>播放音频, 视频或其他支持的文件类型.</p> <pre class="Syntax"><span class="func">SoundPlay</span>, Filename <span class="optional">, Wait</span></pre> <h2 id="Parameters">参数</h2> <dl> <dt>Filename</dt> <dd><p>要播放的文件名, 如果未指定绝对路径, 则假定在 <a href="../Variables.htm#WorkingDir">%A_WorkingDir%</a> 中.</p> <p>要发出标准的系统声音, 请像下面显示的那样指定星号后跟着数字. 注: 在此模式中 <em>Wait</em> 参数没有效果:</p> <ul> <li>*-1 = 简单的哔哔声. 如果声卡不可用, 则使用扬声器生成这个声音.</li> <li>*16 = 手型(停止/错误声)</li> <li>*32 = 问号声</li> <li>*48 = 感叹声</li> <li>*64 = 星号(消息声)</li> </ul> <p>已知限制: 由于 Windows 系统的 Bug, 路径超过 127 个字符的 WAV 文件将不会被播放. 要解决这个问题, 可以使用其他文件类型如 MP3(路径长度最多 255 个字符) 或使用 8.3 短路径(请参阅 <a href="LoopFile.htm#LoopFileShortPath">A_LoopFileShortPath</a> 如何检索这些路径).</p> </dd> <dt>Wait</dt> <dd><p>如果省略, 则在播放文件时脚本的<a href="../misc/Threads.htm">当前线程</a>会移动到下一个命令. 要避免这种情况, 请指定 1 或单词 WAIT, 这会使得当前线程会等到文件播放结束后才继续执行. 即使在等待时, 可以通过<a href="../Hotkeys.htm">热键</a>, <a href="Menu.htm">自定义菜单项</a>或<a href="SetTimer.htm">计时器</a>启动新的<a href="../misc/Threads.htm">线程</a>.</p> <p>已知限制: 如果省略 WAIT 参数, 则操作系统可能认为播放的文件 "在使用中", 直到脚本关闭或播放另一个文件(甚至是不存在的文件).</p></dd> </dl> <h2 id="Error_Handling">错误处理</h2> <p><span class="ver">[v1.1.04+]</span>: 此命令失败时会抛出异常. 想了解更多信息, 请参阅<a href="Catch.htm#RuntimeErrors">运行时错误</a>.</p> <p>如果遇到问题则 <a href="../misc/ErrorLevel.htm">ErrorLevel</a> 被置为 1, 否则为 0.</p> <h2 id="Remarks">备注</h2> <p>所有 Windows 操作系统应该都能够播放 .wav 文件. 不过, 如果操作系统中没有安装正确的解码器或功能, 那么其他文件(.mp3, .avi, 等等) 可能无法播放.</p> <p>如果在播放一个文件时当前脚本播放了第二个文件, 那么第一个文件会被停止后才可以播放第二个. 在一些系统中, 即使在完全独立的脚本中播放新文件时, 某些文件类型也可能停止播放.</p> <p>要停止当前正在播放的文件, 请对不存在的文件使用 SoundPlay, 例如: <code>SoundPlay, Nonexistent.avi</code>.</p> <p>如果脚本退出了, 那么任何由它启动的当前正在播放的文件将会停止.</p> <h2 id="Related">相关</h2> <p><a href="SoundBeep.htm">SoundBeep</a>, <a href="SoundGet.htm">SoundGet</a>, <a href="SoundSet.htm">SoundSet</a>, <a href="SoundGetWaveVolume.htm">SoundGetWaveVolume</a>, <a href="SoundSetWaveVolume.htm">SoundSetWaveVolume</a>, <a href="MsgBox.htm">MsgBox</a>, <a href="../misc/Threads.htm">线程</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> 播放位于 Windows 目录下的声音文件.</p> <pre>SoundPlay, %A_WinDir%\Media\ding.wav</pre> </div> <div class="ex" id="ExStandardSound"> <p><a class="ex_number" href="#ExStandardSound"></a> 产生一个简单的哔哔声. 如果没有声卡, 则使用扬声器产生声音.</p> <pre>SoundPlay *-1</pre> </div> </body> </html>