Web Audio API 演示在 iOS 上不起作用

刘艾伦

我目前正在为我正在处理的项目调整此网络音频 API 演示,但在 iPhone 上测试时没有声音。它在 iPad 上运行良好。

我已经搜索了解决方案,并在 StackOverflow 上找到了此线程,其中包含以下答案片段:

iOS 6 上的 Safari 有效地从 Web Audio API 静音开始。直到您尝试在用户输入事件中播放声音(创建缓冲区源,将其连接到目标,然后调用 noteOn()),它才会取消静音。在此之后,它会取消静音并且音频播放不受限制并且应该如此。这是 Web Audio API 如何在 iOS 6 上工作的一个未记录的方面(Apple 的文档在这里,希望他们尽快更新它并提及这一点!)

用户输入事件应该是播放按钮上的 onclick 事件,但更改为使用noteOn()而不是start()仍然无法修复它。

更新:我也尝试将播放按钮与touchend事件绑定,但无济于事。

这是使用 noteOn() 的函数:

function playNote(buffer, pan, x, y, z, sendGain, mainGain, playbackRate, noteTime) {
    // Create the note
    var voice = context.createBufferSource();
    voice.buffer = buffer;
    voice.playbackRate.value = playbackRate;

    // Optionally, connect to a panner
    var finalNode;
    if (pan) {
        var panner = context.createPanner();
        panner.panningModel = "HRTF";
        panner.setPosition(x, y, z);
        voice.connect(panner);
        finalNode = panner;
    } else {
        finalNode = voice;
    }

    // Connect to dry mix
    var dryGainNode = context.createGain();
    dryGainNode.gain.value = mainGain * effectDryMix;
    finalNode.connect(dryGainNode);
    dryGainNode.connect(masterGainNode);

    // Connect to wet mix
    var wetGainNode = context.createGain();
    wetGainNode.gain.value = sendGain;
    finalNode.connect(wetGainNode);
    wetGainNode.connect(convolver);

    if (iOS) {        
        voice.noteOn(noteTime);    
    }
    else {
        voice.start(noteTime);
    }
}

任何建议将不胜感激。谢谢。

刘艾伦

我真的觉得很傻。显然,如果您的 iPhone 处于振动模式,则不会播放声音。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Web Share API在iOS上不起作用:Angular

来自分类Dev

全屏API在Chrome / iOS上不起作用

来自分类Dev

HTML5 Web Audio API:过滤器不起作用

来自分类Dev

具有Web Audio API的HTML5音频-在Firefox中不起作用

来自分类Dev

Swagger / Swashbuckle在Visual Studio 2013 Web API 2项目上不起作用

来自分类Dev

Google API密钥在我的iOS应用程序上不起作用

来自分类Dev

Firebase云消息传递-PHP REST API在iOS上不起作用

来自分类Dev

FileReader在iOS 8上不起作用

来自分类Dev

MPMoviePlayerViewController在iOS 7上不起作用

来自分类Dev

SDWebImage在iOS 8上不起作用

来自分类Dev

Testflight在iOS 8上不起作用

来自分类Dev

UITableViewAutomaticDimension在iOS 8上不起作用

来自分类Dev

VideoJS:在IOS上不起作用

来自分类Dev

SDWebImage在iOS 8上不起作用

来自分类Dev

swfobject在iOS上不起作用

来自分类Dev

removeClass在iOS上不起作用

来自分类Dev

listPreferredItemHeightSmall在api 16上不起作用

来自分类Dev

Web API模型绑定不起作用

来自分类Dev

HttpDelete在Web Api中不起作用

来自分类Dev

Web Api 属性路由不起作用

来自分类Dev

Web api 启用 CORS 不起作用

来自分类Dev

Xamarin.iOS NSUrlSession在iOS 8上不起作用

来自分类Dev

Xamarin.iOS NSUrlSession在iOS 8上不起作用

来自分类Dev

iOS PushKit注册在iOS10上不起作用

来自分类Dev

为什么ZeroMQ演示代码在Win10上不起作用?

来自分类Dev

ember演示ember-cli-mirage在没有后端的服务器上不起作用

来自分类Dev

Web Audio API无法在iOS版本13.3上播放。适用于旧版本的iOS

来自分类Dev

Web Audio API和<audio>标签

来自分类Dev

Web Audio API和<audio>标签