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

智能推荐

Swagger中的注解对应的springdoc-openapi-ui中的注解_springdoc注解-程序员宅基地

文章浏览阅读3.9k次。swagger是我们开发过程中非常常用的一个api 文档维护组织吗,为了前后端更好的交互,swagger早已经成为了大家的首选api 文档框架。但随着spring的发展与强大,spring也出了自己的api框架,但实用惯了swagger的用户,在切换过来后发现就不太会用了,其实springdoc本身已经集成并兼容了swagger,但对应的注解有所变化。下面我们就来看看swagger的注解在springdoc中的对应关系。springdoc的maven依赖 <dependency> _springdoc注解

openlayes 3 点选,圈选,多边形选实现_opnelayes中的circle配置-程序员宅基地

文章浏览阅读606次。版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014529917/article/details/77504779 &amp;nbsp; &amp;nbsp;点选、圈选、多边形选择也是地图中比较基础的功能了,只是一直没有需求,最近两天把这个功能从页面到功能完整..._opnelayes中的circle配置

matplotlib常用的的刻度定位器locator总结_ax.xaxis.set_major_locator-程序员宅基地

文章浏览阅读1.2w次,点赞12次,收藏67次。在使用matplotlib绘制图时,发现默认生成的刻度的位置总是不令人满意,这时候我们可以使用locator来设定刻度位置。_ax.xaxis.set_major_locator

sprinboot 整合 elasticsearch实现各种查询:高亮查询、termQuery、rangeQuery、matchQuery、multiMatchQuery、分页查询_multimatchquerybuilder rangequery-程序员宅基地

文章浏览阅读1.1k次。参考文章:sprinboot 整合 elasticsearch实现各种查询:高亮查询、termQuery、rangeQuery、matchQuery、multiMatchQuery、分页查询​​​​​​​注意:本文使用 Springboot 2.4.3,、elasticsearchRestTemplate,elasticsearch使用的是 7.9.3主要是学习使用 ElasticsearchRestTemplate 的 API,termQuery、matchQuery、rangeQuery、._multimatchquerybuilder rangequery

数据结构_串_串的模式匹配_KMP/BF_数据结构串的模式匹配指针回溯-程序员宅基地

文章浏览阅读821次,点赞2次,收藏8次。数据结构_串_串的模式匹配_KMP/BF_数据结构串的模式匹配指针回溯

基于鸢尾花(iris)数据集的逻辑回归分类实践_鸢尾花分类_基于鸢尾花(iris)数据集的逻辑回归分类实践-程序员宅基地

文章浏览阅读959次。基于鸢尾花(iris)数据集的逻辑回归分类实践 在实践的最开始,我们首先需要导入一些基础的函数库包括:numpy (Python进行科学计算的基础软件包),pandas(pandas是一种快速,强大,灵活且易于使用的开源数据分析和处理工具),matplotlib和seaborn绘图。 Step1:库函数导入## 基础函数库#numpy-数组函数库import numpy as np #pandas数据分析库import pandas as pd## 绘图函数库im_鸢尾花分类_基于鸢尾花(iris)数据集的逻辑回归分类实践

随便推点

【全网首发】2023年NOIP真题_noip2023 题目-程序员宅基地

文章浏览阅读2.9k次。2023年NOIP真题,全网首发_noip2023 题目

关于 QtCreator使用msvc2017x64编译器编译项目报错”编译器的堆空间不足“错误 的解决方法_qtpromsvc201764开辟栈空间-程序员宅基地

文章浏览阅读1.7k次。开发工业自动化控制及信息化软件的时候,因为项目较大,模块较多,编译时,报错”编译器编译空间不足“,且常规方法无法消除的问题_qtpromsvc201764开辟栈空间

我做了3道简单的字符串解码,谜底是我的联系方式(真的)_%e4%bd%a0%e5%a5%bd%e6%88%91%e6%98%af%e4%bd%a0%e7%8-程序员宅基地

文章浏览阅读4.4w次。第一题:%e5%a6%82%e6%9e%9c%e4%bd%a0%e8%83%bd%e7%9c%8b%e5%be%97%e5%88%b0%e8%bf%99%e6%ae%b5%e8%af%9d%ef%bc%8c%e8%af%b4%e6%98%8e%e4%bd%a0%e5%b7%b2%e7%bb%8f%e7%8c%9c%e5%88%b0%e4%ba%86%e7%ac%ac%e4%b8%80%e9%a2%98%e7%9a%84%e8%b0%9c%e5%ba%95%ef%bc%8c%e5%be%88%e7%ae%8_%e4%bd%a0%e5%a5%bd%e6%88%91%e6%98%af%e4%bd%a0%e7%88%b9解密,

一个C语言初学者写一个查找替换程序的历程_编写一个程序replace,采用命令行的方式,用给定的字符串替换指定文件中的目标字符-程序员宅基地

文章浏览阅读2.8k次,点赞3次,收藏4次。本人大一,正式接触C语言刚刚三个月_编写一个程序replace,采用命令行的方式,用给定的字符串替换指定文件中的目标字符

AR 技术介绍-程序员宅基地

文章浏览阅读2.2k次。增强现实(Augmented Reality,简称AR)是一种将虚拟世界的数字信息与真实世界相结合的技术。通过在现实场景中叠加虚拟的图像、声音、视频等内容,AR创造了一种增强的视听体验。_ar

maven 依赖 war包问题_maven war包依赖war包-程序员宅基地

文章浏览阅读1.6k次。1. maven中配置依赖war包配置war包插件 org.apache.maven.plugins maven-war-plugin 2.6 _maven war包依赖war包