js被html调用后无法运行,为什么HTML中无法调用引用JS文件中方法?

引用的js文件是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

}

html文件代码如下:

Document

function fun(){

start().then(function(analyser){

setInterval(function() {

var voiceSize = getVoiceSize(analyser)

//doSomething after you got voice size

console.log(voiceSize);

}, 10)

})

}

fun();

打开html文件后报错提示是:

AudioAPI.js:27 Uncaught SyntaxError: Unexpected token }

以及:

index.html:11 Uncaught ReferenceError: start is not defined

at fun (index.html:11)

at index.html:20

请问怎么解决html中调用外部引用js方法的问题?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值