Ajax 板


LINE

这是我第一次在这边发文,假如等等下面有什麽违规的地方,说声抱歉 我这边要做个client端的javascript写的程式 来负责的抓取使用者的mic的data 然後再把抓到的Data做成Pcm Data 而我写的程式如下 let timer; let chunks = []; let finalChunks = []; let count = 0; let theData = 0; let audioInput = null; let microphone_stream; let gain_node = null; let script_processor_node; $('#s').click(function(){ window.AudioContext = window.AudioContext || window.webkitAudioContext; if (!navigator.mediaDevices.getUserMedia){ navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; } if(navigator.mediaDevices.getUserMedia) { navigator.getUserMedia ( {audio:true}, function(stream){ start_microphone(stream); }, function(e){ alert('Error capturing audio.'); } ); } else { alert('getUserMedia not supported in this browser.'); } }); function process_microphone_buffer(event) { theData = event.inputBuffer.getChannelData(0); } function start_microphone(stream){ let context = new AudioContext(); let BUFF_SIZE_RENDERER = 16384; microphone_stream = context.createMediaStreamSource(stream); script_processor_node = context.createScriptProcessor(1024,1,1); script_processor_node.onaudioprocess = process_microphone_buffer; microphone_stream.connect(script_processor_node); update(); function update() { console.log(theData); timer = setTimeout(update,1000); if(theData !== 0){ chunks.push(Array.from(theData)); count++; } if(count === 30) { clearTimeout(timer); console.log((chunks)); stream.getTracks()[0].stop(); let i; let j; for( i = 0;i<chunks.length;i++) { for( j = 0;j<1024;j++) { finalChunks.push(chunks[i][j]); } } console.log(finalChunks); console.log(finalChunks.length); } } } 简单解释 有个button '#s' 是负责开始的,使用者开始就会开始请求使用者的Mic(getUserMedia) 然後做个30秒,把抓到的data放到物件chunks 之後汇出chunks在float32array 转 int16 做成pcm data(在这边就没写了,另一块东西) 不过问题在这 onaudioprocess这个method 负责去call抓buffer里面的data的function 在chrome不支援........ 目前试过的浏览器只有火狐ok 想问看看这边的版友 有没有比较好的方式可以让火狐和chrome都可以执行的方案 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.120.251.134
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1527742161.A.BDA.html
1F:推 mmis1000: 是不是打错字啊?怎麽可能不支援?没这个的话,scriptNo 06/02 13:12
2F:→ mmis1000: de还有存在意义吗?而且mdn上也是写支援的。只是要prefi 06/02 13:12
3F:→ mmis1000: x而已。 06/02 13:12







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP