引用的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文件代码如下:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8" />

<title>Document</title>

</head>

<body>

<script src="AudioAPI.js"></script>

<script type="text/javascript">

function fun(){

start().then(function(analyser){

setInterval(function() {

var voiceSize = getVoiceSize(analyser)

//doSomething after you got voice size

console.log(voiceSize);

}, 10)

})

}

fun();

</script>

</body>

</html>

打开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方法的问题?

html中引用js文件无效,为什么HTML中无法调用引用JS文件中方法?相关推荐

  1. android 文件 c语言 jni,Android jni 调用的so文件一个函数的反汇编 高手来看看

    [Asm] 纯文本查看 复制代码var_104= -0x104 var_A0= -0xA0 var_48= -0x48 var_34= -0x34 var_2C= -0x2C var_28= -0x2 ...

  2. 调试远程服务器上的代码时报错:调试设置中的Python路径无效

    错误 当在本地调试远程服务器上的代码时,报错: 调试设置中的Python路径无效 踩坑 根据提示去launch.json文件里 以为是"python": "${comma ...

  3. LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    使用vs2010边长时经常遇到LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 问题,一般解决思路就是 [方法一] 解决方法如下: 项目\属性\配置属性\清单工具\输入和输出\嵌入清单: ...

  4. Fatal Error LNK1123:转换到COFF期间失败:文件无效或损坏

    2019独角兽企业重金招聘Python工程师标准>>> 最近在学习Qt,昨晚上用Visual Studio2010写了个程序跑了一下结果报错:Fatal Error LNK1123: ...

  5. js中自定义对象、json对象、json字符串、普通js对象 --js学习那本书上的

    4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...

  6. 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(2):处理异步调用中的异常...

    本文来自<ASP.NET AJAX程序设计 第II卷:客户端Microsoft AJAX Library相关>的第三章<异步调用Web Service和页面中的类方法>,请同时 ...

  7. 调用iframe子页面中的函数

    调用iframe子页面中的函数 parent.html child.html 问题 参考 调用iframe子页面中的函数 parent.html 在父页面中,可以通过document.getEleme ...

  8. Resx 文件无效。未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List`1请确保已在项目中添加了必需的引用。

    在C#程序编写过程中,会遇到:Resx 文件无效.未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List1`请确保已在项目中添加了必需的引用. 主要原因 ...

  9. js文件中可以写html吗,js代码写在HTML正常,分离成js文件再在HTML中引用不起作用...

    js代码写在HTML功能正常,分离成js文件再在HTML中引用却不起作用 js代码片段,功能是调用高德地图JS API,并做些布局调整 var map = new AMap.Map("con ...

最新文章

  1. 常用的 linux命令
  2. WebUI中DataGrid多层表头的终极解决办法
  3. 不懂 Zookeeper?没关系,看这篇就够了
  4. wxWidgets:wxFont实例
  5. dedecms在linux主机下的一个奇怪错误
  6. AT3913-XOR Tree【状压dp】
  7. Mysql存储结构B树与B+树与索引
  8. filebeat 笔记
  9. Python基础(循环控制语句break/continue)
  10. Android模拟器的模拟键盘区不见了怎么办
  11. Python如何运行单个.py文件而不是unittest
  12. Java内存模型JMM
  13. 桌面客户端上登入Gmai 邮箱
  14. win7怎么看计算机信息,如何查看Win7版本信息
  15. 谷歌浏览器如何设置兼容
  16. 《黑客秘笈——渗透测试实用指南(第2版)》—第1章1.5节构建渗透测试环境...
  17. 第14课:走向技术管理者的4种方式
  18. 贪婪洞窟2服务器维护,12月24日贪婪洞窟2停服维护公告_贪婪洞窟2更新了什么_3DM手游...
  19. ARMv8-A笔记一 ARM-A系列处理器介绍
  20. 最强大易用的开源MODBUS库-YMODBUS,包含MASTER/SLAVE

热门文章

  1. python中的func函数_如何解释python func函数中的n?
  2. 快速揭开Word制表位设置的神秘面纱【系统收藏】
  3. token 过期刷新令牌_Android token过期刷新处理的方法示例
  4. 我能抽象出整个世界。。。
  5. 图片识别为什么大部分都将彩色图像灰度化
  6. 【测试】根据因果图法设计饮料售卖机的测试用例
  7. 微信小程序手机号码简单正则
  8. 单点登录EASY-SSO 使用说明
  9. esp8266 丢失固件 丢失程序问题
  10. 基于OpenCV的图片和视频人脸识别