html未找到音频文件夹,【已解决】html5中MediaRecorder的dataavailable没有执行获取不到录音数据...-程序员宅基地

技术标签: html未找到音频文件夹  

折腾:

期间,用相关代码:    function testMediaRecorder(mediaStream){

console.log("testMediaRecorder: mediaStream=%o", mediaStream);

const options = {mimeType: 'audio/webm'};

if (MediaRecorder.isTypeSupported(options.mimeType)) {

console.log("support options=%o", options);

} else {

console.log(options.mimeType + ' is not Supported');

}

const recordedChunks = [];

const mediaRecorder = new MediaRecorder(mediaStream, options);

console.log("mediaRecorder=%o", mediaRecorder);

mediaRecorder.addEventListener('dataavailable', function(e) {

console.log("dataavailable: e.data.size=%d, e.data=%o", e.data.size, e.data);

if (e.data.size > 0) {

recordedChunks.push(e.data);

console.log("recordedChunks=%o", recordedChunks);

}

if (shouldStop === true && stopped === false) {

mediaRecorder.stop();

stopped = true;

console.log("stopped=%s", stopped);

}

});

mediaRecorder.addEventListener('stop', function() {

// downloadLink.href = URL.createObjectURL(new Blob(recordedChunks));

// downloadLink.download = 'acetest.wav';

var blobFile = URL.createObjectURL(new Blob(recordedChunks));

console.log("blobFile=%o", blobFile);

$("#downloadSpeakAudio").attr("href", speakAudioFilename);

var curDate = new Date();

console.log("curDate=%o", curDate);

var curDatetimeStr = curDate.Format("yyyyMMdd_HHmmss");

console.log("curDatetimeStr=%o", curDatetimeStr);

var speakAudioFilename = curDatetimeStr + ".wav"

console.log("speakAudioFilename=%o", speakAudioFilename);

$("#downloadSpeakAudio").attr("download", speakAudioFilename);

});

console.log("before start: mediaRecorder.state=%s", mediaRecorder.state);

mediaRecorder.start();

// mediaRecorder.start(100);

console.log("after  start: mediaRecorder.state=%s", mediaRecorder.state);

}

但是始终无法执行到:dataavailable

从而无法得到麦克风录音的数据

MediaRecorder dataavailable not work

chrome中是可以开启摄像头的:

22d560566d8ffa1beb7ff04eed718009.png

Chrome’s experimental Web Platform Features enabled

MediaRecorder voice

js MediaRecorder voice

去调试:console.log("before start: mediaRecorder.state=%s", mediaRecorder.state);

mediaRecorder.start();

console.log("after start: mediaRecorder.state=%s", mediaRecorder.state);

state是对的:before start: mediaRecorder.state=inactive

main.js:196 after  start: mediaRecorder.state=recording

MediaRecorder dataavailable not fire

“2.2. Attributes

stream, of type MediaStream, readonly

The MediaStream to be recorded.

mimeType, of type DOMString, readonly

The MIME type [RFC2046] that has been selected as the container for recording. This entry includes all the parameters to the base mimeType. The UA should be able to play back any of the MIME types it supports for recording. For example, it should be able to display a video recording in the HTML tag. The default value for this property is platform-specific.

mimeType specifies the media type and container format for the recording via a type/subtype combination, with the codecs and/or profiles parameters [RFC6381] specified where ambiguity might arise. Individual codecs might have further optional specific parameters.

state, of type RecordingState, readonly

The current state of the MediaRecorder object. When the MediaRecorder is created, the UA MUST set this attribute to i

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42245701/article/details/117951605

智能推荐

利用C语言标准库生成一个真随机数的方法_c 真随机数-程序员宅基地

文章浏览阅读7.6k次。 首先需要明确一点的是,计算机系统中生成一个随机数,需要依赖一个随机量,这个随机量称为随机数种子。否则生成的就是伪随机数。随机数种子的值越多样化,生成的数就越随机。通常,随机数种子从计算机系统外部引入,例如人的操作、ADC采集到的值等。 C语言的标准库,提供了srand()和rand()两个函数用于产生随机数。下面的例程提供了生成一个指定范围的随机数的方法:#..._c 真随机数

怎么才能用SPSS按条件选择数据?_spss如何按条件分类-程序员宅基地

文章浏览阅读1.4w次,点赞4次,收藏41次。我们在进行数据分析的时候,并不是所有的数据都需要进行分析。这就要求我们要对数据进行按条件选择。本文我将用IBM SPSS Statistics演示如何进行按条件筛选数据。1、打开数据如图所示,是一个学生个人信息的数据集。我将在此基础上演示如何筛选出语文成绩大于78的学生。图1:数据展示2、菜单位置如图所示,第一步我们点击菜单栏中的“数据”按钮,第二步选择下级菜单中的“选择个案”。图2:菜单位置3、选择条件如图所示,我们先选中语文成绩,在点击“如果条件满足”.._spss如何按条件分类

离散数学程序实践——差集——c_用c++实现离散数学差运算-程序员宅基地

文章浏览阅读591次。//集合的差集程序实现#include<stdio.h>//降序排序数组void sort( int a[],int n ){ int i,j,k,temp; for( i=0;i<n-1;i++ ){ k=i; for( j=i+1;j<n;j++ ){ if( a[j]>a[k] ) k=j; } if( k!=i ){ temp=a[k]; a[k]=a[i]; a[i]=temp; } }}//计算差集._用c++实现离散数学差运算

python正则表达式-程序员宅基地

文章浏览阅读524次,点赞14次,收藏14次。ndex-editionrecommend 如果没有今天,明天会不会有昨天?[瑞士]伊夫·博萨尔特(YvesBossart) 2017-1。

CentOS操作系统防火墙添加例外端口_centos7域控服务器里防火墙需要例外那些端口-程序员宅基地

文章浏览阅读1w次。CentOS6与CentOS7添加防火墙例外端口的命令不同,需单独来说:(1)CentOS6下添加防火墙例外端口#vim/ets/sysconfig/iptables在 -A INPUT -m state--state NEW -m tcp -p tcp --dport 22 -j ACCEPT一行的后台添加类似的一行命令即可,如 # Firewall configura..._centos7域控服务器里防火墙需要例外那些端口

数据结构|数组为什么这么快?-程序员宅基地

文章浏览阅读2.9k次,点赞8次,收藏10次。我相信在很多地方,大家在进行数据结构的比较的时候,说到数组,第一反应就是—快,但是为什么快呢?数组到底快在哪里呢?不知道大家是否有思考过这个问题,这篇文章,我就讲讲我对数组的一些看法,抛砖引玉,希望大家多多交流!文章目录数组到底哪里快?查找快吗?为什么数组能支持随机访问呢?答案:举例分析:我们要分析的第一个问题是:数组到底哪里快?查找快吗?可能有的同学第一反应利用数组进行查找的话,时间...

随便推点

后台密码加盐存储 pwd+salt sha256(),java实现_pwdsalt-程序员宅基地

文章浏览阅读4.7k次。后台仅仅使用md5或者 sha256对密码加密后存储在一定程度上存在被撞库风险。这时候考虑使用随机生成salt进行密码加盐。前后台注册基本逻辑:前端传入md5过的密码pmd5-》后台接受,并随机生成salt -》后台使用sha256(salt+pmd5) 生成最终密码pwd 。-》后台在数据库存储字段为 salt、pwd 。代码实现:创建如下工具类PasswordU..._pwdsalt

bugfree安装时,提示MySQL未安装_bugfree 显示mysql未安装-程序员宅基地

文章浏览阅读371次。1.解决办法:安装低版本的XAMPP(<7.0版本)2.遇到的问题:安装bugfree,我先安装了XAMPP来搭建环境,但是XAMPP7.0+版本安装成功了,但是后面到了安装bugfree时,输入了http://localhost/bugfree/install,后出现了检测到未安装MySQL数据库,打了一个红色叉子。3.解决过程:我尝试了各种版本的XAMPP和bugfree版本,发现,只要是XAMPP的版本太高,比如是7.0+的,b..._bugfree 显示mysql未安装

Delphi调用Excel设置单元格的格式 _delphi excelapp.worksheets[j].columns[2].numberfor-程序员宅基地

文章浏览阅读1w次。在做设计过程中,需要把数据内容导入到Excel中,可是每次导入EXcel之后,总有一些数据不能正常显示,比如'123456789012'显示为科学技术形式'1.23457E+11’,还有以'0’开头的数据总会把0撇开再显示。在VB中好像这么更改Excel更改单元格式:Worksheets("Sheet1").Range("A17").NumberFormat = "General" //对A17 单元格格式进行设置Worksheets("S_delphi excelapp.worksheets[j].columns[2].numberformatlocal

php的错误和异常处理机制_php exception输出错误行-程序员宅基地

文章浏览阅读2.5k次。php的错误和异常处理机制。1、php错误分类;2、error_reporting、display_errors、log_errors、log_errors_max_len、error_log等配置;3、set_error_handler的使用;4、set_exception_handler 的使用;5、用trigger_error触发错误;6、捕获异常try/catch/finally的使用方式_php exception输出错误行

Java 中应用Dijkstra算法求解最短路径_路由最短路径代码java-程序员宅基地

文章浏览阅读476次。Dijkstra算法是一个经典的解决最短路径问题的算法,在路由算法、导航系统等领域都有广泛的应用。它通过逐步选择距离起始节点最近的节点,并更新其邻接节点的最短距离,最终得到起始节点到其他所有节点的最短路径。然后,在一个循环中,每次选择距离最小且未加入最短路径集合的节点,将其加入最短路径集合,并更新其邻接节点的最短路径长度。它遍历所有未加入最短路径集合(shortestPathTreeSet)的节点,查找距离最小且未加入最短路径集合的节点,并返回其索引。数组来追踪起始节点到其他节点的最短路径长度,_路由最短路径代码java

Mybatis-plus解决selectOne查询多个会报错的问题_mybatisplus selectone-程序员宅基地

文章浏览阅读2w次,点赞13次,收藏36次。123_mybatisplus selectone

推荐文章

热门文章

相关标签