小编jef*_*vav的帖子

电源循环后第一次在iOS 6(iPhone 5)上扭曲WebKit Audio

在iOS 6下的HTML5中使用webkitAudioContext时,我一直在努力解决难以捉摸的音频失真问题.在其他情况下可能会发生这种情况,但我可以获得100%repro的唯一方法是在重启设备后第一次访问我的页面.看起来如果您在访问此页面之前访问任何具有音频功能的页面,则不会出现问题.

失真仅发生在webkitAudioContext.decodeAudioData()生成的音频上,然后通过webkitAudioContext.createBufferSource()播放.webkitAudioContext.createMediaElementSource()的音频播放不会扭曲.

我错过了一些初始化步骤吗?以下是我作为错误报告提交给Apple的完整代码和HTML(但未收到回复):

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
        var buffer = null;
        var context = null;
        var voice = null;

        function load_music(file) {
            context = new webkitAudioContext();
            voice = context.createBufferSource();
            var request = new XMLHttpRequest();
            request.onload = function() {
                context.decodeAudioData(request.response, function(result) {
                    buffer = result;
                    document.getElementById("start").value = "Start";
                });
            };
            var base = window.location.pathname;
            base = base.substring(0, base.lastIndexOf("/") + 1);
            request.open("GET", base + file, true);
            request.responseType = "arraybuffer";
            request.send(null);
        }

        function start_music() {
            if (!buffer) { …
Run Code Online (Sandbox Code Playgroud)

audio html5 webkit ios webkitaudiocontext

11
推荐指数
2
解决办法
2891
查看次数

标签 统计

audio ×1

html5 ×1

ios ×1

webkit ×1

webkitaudiocontext ×1