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

智能推荐

软件工程_并列争球法-程序员宅基地

文章浏览阅读1k次。程序设计小组主程序员组(成员之间相互平等,工作目标和决策都由全体成员民主讨论)、无主程序员组和层次式程序员组风险控制目的:辅助项目组建立处理风险的策略。策略:风险避免(最好)、风险监控和风险管理及意外事件计划数据内聚①偶然内聚:指一个模块内的各个处理元素之间没有任何联系。②逻辑内聚:指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。③时间内聚:把需要同时执行的动作..._并列争球法

练习7-3 将数组中的数逆序存放 (20分) 本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。_题目内容:编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放并输出-程序员宅基地

文章浏览阅读4w次,点赞19次,收藏42次。本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。输入格式:输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。输入样例:410 8 1 2输出样例:2 1 8 10#include<stdio.h>int main(){ int n; scanf("%d",&n); in_题目内容:编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放并输出

MovingPandas时空轨迹数据探索和分析——上海市出租车数据集_上海出租车数据-程序员宅基地

文章浏览阅读2.5k次,点赞24次,收藏54次。MovingPandas是一个基于Python的地理数据处理库,专门用于处理移动物体的轨迹数据。本文用MovingPandas对上海市出租车轨迹数据进行探索和分析。_上海出租车数据

fprintf()、fscanf()、fwrite()、fread()用法与区别-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏31次。其中,fprintf()和fscanf()的用法类似于printf()和scanf(),只是输出和输入的地方改成了文件流。类似于scanf()函数,但是scanf()用于从标准输入设备(键盘)中读取数据,而fscanf()用于从文件中读取数据。返回值:成功读取并匹配的输入项数,如果没有匹配到任何数据,则返回0,如果发生错误,则返回一个负数。fprintf():按照指定的格式将数据输出到指定的文件流中。fread():从指定的文件流中读取指定数量的数据块。fwrite():将指定的数据块写入指定的文件流中。_fprintf

Windows 10搭建FTP 服务器保姆教学_win10ftr服务器-程序员宅基地

文章浏览阅读1k次。windows10搭建FTP服务器保姆教程:Ⅰ。我们需要打开windows的FTP服务器功能。Ⅱ。我们需要切断防火墙对FTP服务器的拦截。Ⅲ。新建一个本地用户。Ⅳ。新建一个存放传输文件的文件夹Ⅴ。搭建FTP服务器。_win10ftr服务器

Unity插件——Odin 学习笔记(一)_unity odin-程序员宅基地

文章浏览阅读2.6w次,点赞27次,收藏108次。本文章是为了记录学习Unity插件Odin,使用该插件可以让我们更快速便捷的开发Unity工具前言Unity原生编辑编辑器的方法有两种——IMGUI和新的UIElement1.UIElement我之前做过介绍,开发模式类似于HTML+CSS,如果有类似经验的人开发及相对容易,但是就目前而言不太适合编辑器开发,我觉得比较适合取代UGUI进行UI开发2.IMGUI入门比较简单,使用Edit..._unity odin

随便推点

python rabbitmq 多任务类型_rabbitmq常用的三种exchange类型和python库pika接入rabbitmq-程序员宅基地

文章浏览阅读108次。现在很多开源软件都提供了对应的web管理界面,rabbitmq也不例外,rabbitmq提供了一个web插件。当rabbit-server启动之后,即在浏览器中通过http://localhost:15672/地址访问页面,提供一个比命令rabbitmqctl更友好的学习rabbitmq的方式。可以简单方便的通过配置rabbitmq,并可以向exchange和queue中发消息来验证自己的理解。如..._python rabbitmq exchange_bind

关于达梦数据库数据迁移工具的使用方法(DTS)_达梦迁移工具使用方法-程序员宅基地

文章浏览阅读5.1k次。达梦DTS工具的使用,适用于简单的数据迁移_达梦迁移工具使用方法

java上传文件到文件夹判断文件夹是否存在,不存在则创建_java nas 上传文件夹不存在-程序员宅基地

文章浏览阅读4.2k次。// 判断文件夹是否存在 public static void judeDirExists(File file) { if (file.exists()) { if (file.isDirectory()) { System.out.println("dir exists"); } else {_java nas 上传文件夹不存在

前后端通信安全RSA+AES混合加密_aes前端加密安全吗-程序员宅基地

文章浏览阅读3.4k次。前后端安全通信一直是头疼的问题,如何保证前后端安全通信?读完这偏文章教你学会前后端安全通信。_aes前端加密安全吗

Javase面向对象8:设计模式、枚举、注解、单元测试、包装类_如何对枚举类的valueof方法进行单元测试-程序员宅基地

文章浏览阅读90次。目录1. 笔记1.1 设计模式1.2 枚举1.3 注解1.4 单元测试2. 练习2.1 枚举类型常用方法示例代码2.2 枚举类实现接口2.3 注解示例代码1. 笔记1.1 设计模式1. 设计模式 ★ 23种-->就是前辈智慧的结晶(换一种方式实现功能) 1.1 单例模式 一个类对外只提供一个对象! a. 构造器私有化(不让外界new对象) b. 在本类内实例_如何对枚举类的valueof方法进行单元测试

PyCharm入门教程——保存和还原更改_pycharm您的本地更改将被合并覆盖。 提交、存储或还原您的更改以继续-程序员宅基地

文章浏览阅读4.9k次。PyCharm最新版本下载JetBrains PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。PyCharm会自动保存您在文件中所做的更改。保存由各种事件触发,例如编译、运行、调试、执行版本控制操作、关闭文件或项目或完全退出IDE。实际事件是预定义的,..._pycharm您的本地更改将被合并覆盖。 提交、存储或还原您的更改以继续

推荐文章

热门文章

相关标签