javascript - 如何解决网站服务器环境报错(index):1 Uncaught (in promise) undefined?
迷茫
迷茫 2017-04-11 12:49:49
[JavaScript讨论组]


我在本地127.0.0.1环境下测试没有问题,一传到网站服务器就出问题了。关键代码如下:
index.html




    
    Document
    


    
    
    
    
    
    
    

AudioAPI.js

const navigator = window.navigator
    navigator.getUserMedia = navigator.getUserMedia ||
                              navigator.webkitGetUserMedia ||
                              navigator.mozGetUserMedia ||
                              navigator.msGetUserMedia
    const AudioContext = window.AudioContext ||
                          window.webkitAudioContext
    const isSupport = !!(navigator.getUserMedia && AudioContext)
    const context = isSupport && new AudioContext()
    var AudioApi = window.AudioApi = function(){

    }
    function start(){
            // https://developer.mozilla.org/zh-CN/docs/Web/API/AudioContext AudioContent API
        return new Promise((resolve, reject) => {
         navigator.getUserMedia({audio: true}, stream => { // 申请浏览器麦克风权限
        const source = context.createMediaStreamSource(stream)
        // 该对象可以获得声音的频率数据 https://developer.mozilla.org/zh-CN/docs/Web/API/AudioContext/createAnalyser
        const analyser = context.createAnalyser()
        source.connect(analyser)
        analyser.fftSize = 2048
        resolve(analyser)
         }, () => {
        reject()
         })
        })
        }
    function getVoiceSize(analyser){
        const dataArray = new Uint8Array(analyser.frequencyBinCount)
        // 这里会获得一个数组,数字的下标表示频率,数组的值表示频率波大小
        // 通过对这些值的一个简单累加,就可以得到一个数字,用于游戏中表示声音的大小
        analyser.getByteFrequencyData(dataArray)
        const data = dataArray.slice(100, 1000)  // 只获得 100 - 1000Hz 的声音频率大小
        const sum = data.reduce((a, b) => a + b)  // 将这些值累加
        return sum
    }

game.js中调用了start方法,关键代码是:

start().then(function(analyser){
    var timer = setInterval(function(){
        var voiceSize = getVoiceSize(analyser)
        console.log(voiceSize);
    }, 40)
})
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号