首页 > 解决方案 > AudioContext CreateOscillator - 音调只开始一次

问题描述

我正在使用 JQuery Mobile 来打开或关闭音调,但我只能打开一次,下次按钮停止响应时。

此外,声音仅在关闭警报弹出窗口后才开始(小问题)。

为什么这样/如何改变?

代码:

<!DOCTYPE html>
<html>
<head>
    <title>Page Title</title>

    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
    <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>

    <script>
        
        var context = new AudioContext()
        var o = context.createOscillator()
        o.type = "sine"
        o.connect(context.destination)
        
        $(document).on('click','#btnPlay',function(){
            o.start();
            alert("started");
        });

        $(document).on('click','#btnStop',function(){
            o.stop();
            alert("stopped");
        });
        
    </script>
    
</head>
<body>

<div data-role="page">

    <div data-role="header">
        <h1>Page Title</h1>
    </div><!-- /header -->

    <div role="main" class="ui-content">
        <p>Page content goes here.</p>
        <button id = "btnPlay" class="ui-btn ui-btn-inline">Play</button>
        <button id = "btnStop" class="ui-btn ui-btn-inline">Stop</button>
        
    </div><!-- /content -->

    <div data-role="footer">
        <h4>Page Footer</h4>
    </div><!-- /footer -->
</div><!-- /page -->

</body>
</html>

标签: audiojquery-mobile

解决方案


推荐阅读