久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

js實現(xiàn)mp3錄音通過websocket實時傳送+簡易波形圖效果

瀏覽:139日期:2024-05-04 15:07:02

波形圖:https://www.jb51.net/article/188545.htm

廢話:想不到我的第一篇博客是關于前端,作為一名后端的小菜,前端方面肯定還有很多不足之處,如果文章有任何問題歡迎指正。感謝大家。好了!廢話不多說下面講一下需求。

需求:公司要求實現(xiàn)web端的錄音并通過websocket實時上傳至java后臺,而且能通過vlc實時播放,簡單一點講就是我用網(wǎng)頁在那一邊講話,一個大喇叭就能實時把我的話播出去,這樣是不是通俗易懂呀,而且呢公司要求用mp3格式。當然啦!為了知道自己在講話需要一個波形圖,這里主要實現(xiàn)前半部分功能,后半部分臣妾也做不到呀!后半部分的vlc播放呢如果大家想知道,可以留言,屆時可以給大家指條明路

前端實現(xiàn):

引入:

<script type='text/javascript' src='https://rkxy.com.cn/js/recorder/recordmp3.js'></script>

這個跟大佬的js有點不一樣,我在里面加了一點東西,而且在這個js里面引入了兩個另外的js,lame.min.js和worker-realtime.js,這倆在大佬的代碼里有

頁面:

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head> <meta http-equiv='Content-Type' content='text/html; charset=gb2312'/> <title>測試</title></head><body><button id='intercomBegin'>開始對講</button><button id='intercomEnd'>關閉對講</button><canvas style='width: 400px;height: 100px'></canvas></body><script type='text/javascript' src='https://rkxy.com.cn/js/jquery-3.3.1.js'></script><script type='text/javascript' src='https://rkxy.com.cn/js/recorder/recordmp3.js'></script><script type='text/javascript'> var begin = document.getElementById(’intercomBegin’); var end = document.getElementById(’intercomEnd’); var canvas = document.getElementById('casvased'); var canvasCtx = canvas.getContext('2d'); var ws = null; //實現(xiàn)WebSocket var recorder; /* * WebSocket */ function useWebSocket() { ws = new WebSocket('ws://127.0.0.1:8089/send/voice'); ws.binaryType = ’arraybuffer’; //傳輸?shù)氖?ArrayBuffer 類型的數(shù)據(jù) ws.onopen = function () { console.log(’握手成功’); if (ws.readyState == 1) { //ws進入連接狀態(tài),則每隔500毫秒發(fā)送一包數(shù)據(jù) recorder.start(); } }; ws.onmessage = function (msg) { console.info(msg) } ws.onerror = function (err) { console.info(err) } } /* * 開始對講 */ begin.onclick = function () { recorder = new MP3Recorder({ debug: true, funOk: function () { console.log(’點擊錄制,開始錄音! ’); }, funCancel: function (msg) { console.log(msg); recorder = null; } }); } /* * 關閉對講 */ end.onclick = function () { if (ws) { ws.close(); recorder.stop(); console.log(’關閉對講以及WebSocket’); } } var sendData = function() { //對以獲取的數(shù)據(jù)進行處理(分包) var reader = new FileReader(); reader.onload = e => { var outbuffer = e.target.result; var arr = new Int8Array(outbuffer); if (arr.length > 0) { var tmparr = new Int8Array(1024); var j = 0; for (var i = 0; i < arr.byteLength; i++) { tmparr[j++] = arr[i]; if (((i + 1) % 1024) == 0) { ws.send(tmparr); if (arr.byteLength - i - 1 >= 1024) { tmparr = new Int8Array(1024); } else { tmparr = new Int8Array(arr.byteLength - i - 1); } j = 0; } if ((i + 1 == arr.byteLength) && ((i + 1) % 1024) != 0) { ws.send(tmparr); } } } }; recorder.getMp3Blob(function (blob) { reader.readAsArrayBuffer(blob);//這里拿到mp3格式的音頻流寫入到reader中 }) }; </script> </html>recordmp3.js(function (exports) { var MP3Recorder = function (config) { var recorder = this; config = config || {}; config.sampleRate = config.sampleRate || 44100; config.bitRate = config.bitRate || 128; navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; if (navigator.getUserMedia) { navigator.getUserMedia({ audio: true }, function (stream) { var context = new AudioContext(), microphone = context.createMediaStreamSource(stream), processor = context.createScriptProcessor(16384, 1, 1),//bufferSize大小,輸入channel數(shù),輸出channel數(shù) mp3ReceiveSuccess, currentErrorCallback; var height = 100; var width = 400; const analyser = context.createAnalyser() analyser.fftSize = 1024 //連接到音頻源 microphone.connect(analyser); analyser.connect(context.destination); const bufferLength = analyser.frequencyBinCount // 返回的是 analyser的fftsize的一半 const dataArray = new Uint8Array(bufferLength); function draw() { canvasCtx.clearRect(0, 0, width, height); //清除畫布 analyser.getByteFrequencyData(dataArray); // 將當前頻率數(shù)據(jù)復制到傳入其中的Uint8Array const requestAnimFrame = window.requestAnimationFrame(draw) || window.webkitRequestAnimationFrame(draw); canvasCtx.fillStyle = ’#000130’; canvasCtx.fillRect(0, 0, width, height); let barWidth = (width / bufferLength) * 2; let barHeight; let x = 0; let c = 2 for (let i = 0; i < bufferLength; i++) { barHeight = c+(dataArray[i]/400)*height; canvasCtx.fillStyle = ’rgb(0, 255, 30)’; canvasCtx.fillRect(x, height / 2 - barHeight / 2, barWidth, barHeight); x += barWidth + 1; } } draw(); useWebSocket(); config.sampleRate = context.sampleRate; processor.onaudioprocess = function (event) { //邊錄音邊轉(zhuǎn)換 var array = event.inputBuffer.getChannelData(0); realTimeWorker.postMessage({cmd: ’encode’, buf: array}); sendData(); }; var realTimeWorker = new Worker(’/js/recorder/worker-realtime.js’); realTimeWorker.onmessage = function (e) { switch (e.data.cmd) { case ’init’:log(’初始化成功’);if (config.funOk) { config.funOk();}break; case ’end’:log(’MP3大小:’, e.data.buf.length);if (mp3ReceiveSuccess) { mp3ReceiveSuccess(new Blob(e.data.buf, {type: ’audio/mp3’}));}break; case ’error’:log(’錯誤信息:’ + e.data.error);if (currentErrorCallback) { currentErrorCallback(e.data.error);}break; default:log(’未知信息:’, e.data); } }; recorder.getMp3Blob = function (onSuccess, onError) { currentErrorCallback = onError; mp3ReceiveSuccess = onSuccess; realTimeWorker.postMessage({cmd: ’finish’}); }; recorder.start = function () { if (processor && microphone) { microphone.connect(processor); processor.connect(context.destination); log(’開始錄音’); } } recorder.stop = function () { if (processor && microphone) { microphone.disconnect(); processor.disconnect(); log(’錄音結(jié)束’); } } realTimeWorker.postMessage({ cmd: ’init’, config: { sampleRate: config.sampleRate, bitRate: config.bitRate } }); }, function (error) { var msg; switch (error.code || error.name) { case ’PERMISSION_DENIED’: case ’PermissionDeniedError’: msg = ’用戶拒絕訪問麥客風’; break; case ’NOT_SUPPORTED_ERROR’: case ’NotSupportedError’: msg = ’瀏覽器不支持麥客風’; break; case ’MANDATORY_UNSATISFIED_ERROR’: case ’MandatoryUnsatisfiedError’: msg = ’找不到麥客風設備’; break; default: msg = ’無法打開麥克風,異常信息:’ + (error.code || error.name); break; } if (config.funCancel) { config.funCancel(msg); } }); } else { if (config.funCancel) { config.funCancel(’當前瀏覽器不支持錄音功能’); } } function log(str) { if (config.debug) { console.log(str); } } } exports.MP3Recorder = MP3Recorder;})(window);

后端websocket:這里實現(xiàn)的是保存為mp3文件

package com.jetosend.common.socket;import com.jetosend.common.utils.Utils;import org.springframework.stereotype.Component;import javax.websocket.*;import javax.websocket.server.PathParam;import javax.websocket.server.ServerEndpoint;import java.io.*;import java.nio.ByteBuffer;import java.util.Hashtable;import java.util.Map;@ServerEndpoint('/send/{key}')@Componentpublic class ServerSocket { private static final Map<String, Session> connections = new Hashtable<>(); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); /*** * @Description:打開連接 * @Param: [id, 保存對方平臺的資源編碼 * session] * @Return: void * @Author: Liting * @Date: 2019-10-10 09:22 */ @OnOpen public void onOpen(@PathParam('key') String id, Session session) { System.out.println(id + '連上了'); connections.put(id, session); } /** * 接收消息 */ @OnMessage public void onMessage(@PathParam('key') String id, InputStream inputStream) { System.out.println('來自' + id); try { int rc = 0; byte[] buff = new byte[100]; while ((rc = inputStream.read(buff, 0, 100)) > 0) { byteArrayOutputStream.write(buff, 0, rc); } } catch (Exception e) { e.printStackTrace(); } } /** * 異常處理 * * @param throwable */ @OnError public void onError(Throwable throwable) { throwable.printStackTrace(); //TODO 日志打印異常 } /** * 關閉連接 */ @OnClose public void onClose(@PathParam('key') String id) { System.out.println(id + '斷開'); BufferedOutputStream bos = null; FileOutputStream fos = null; File file = null; try { file = new File('D:testtest.mp3'); //輸出流 fos = new FileOutputStream(file); //緩沖流 bos = new BufferedOutputStream(fos); //將字節(jié)數(shù)組寫出 bos.write(byteArrayOutputStream.toByteArray()); } catch (Exception e) { e.printStackTrace(); } finally { if (bos != null) { try { bos.close(); } catch (IOException e) { e.printStackTrace(); } } if (fos != null) { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } connections.remove(id); }

實現(xiàn)效果:

js實現(xiàn)mp3錄音通過websocket實時傳送+簡易波形圖效果

總結(jié)

到此這篇關于js實現(xiàn)mp3錄音通過websocket實時傳送+簡易波形圖效果的文章就介紹到這了,更多相關js實現(xiàn)mp3錄音內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产视频一区二区 | 日本久久久一区二区三区 | 北条麻妃国产九九九精品小说 | 国产精品久久久久久久久免费桃花 | 亚洲男人的天堂在线 | 欧美精品中文字幕久久二区 | 精品欧美激情在线观看 | 亚洲国产91 | 精品在线91 | 中文字幕av第一页 | 精品久久久久久久久久久久久久 | 亚洲在线一区二区 | 国产香蕉97碰碰久久人人九色 | 日韩成人在线一区 | 国产一区二区三区在线免费观看 | 福利精品在线观看 | 成年人网站免费在线观看 | 国产成人精品一区二 | 欧美一区视频 | 中文字幕在线观看不卡视频 | 国产精品免费av | 成人黄页在线观看 | 99福利视频| 99久久精品国产一区二区成人 | 精品美女在线 | 中文在线a在线 | 男女羞羞视频免费观看 | 成人免费视频网站在线观看 | 成人国产精品久久久 | 天堂欧美城网站 | 久久成人免费视频 | 国产电影一区二区 | 欧美亚洲国产一区二区三区 | 欧美一区永久视频免费观看 | 天堂资源av | 国产一二三区在线观看 | 中文字幕在线免费播放 | 日日干日日爽 | 日本激情网 | 久久久久久91香蕉国产 | 亚洲骚片 | 最近免费中文字幕在线视频2 | 亚洲视频免费在线观看 | 久久久久久人 | 国产精品久久综合 | 成人国产精品免费观看 | 久久久av | av第一页| 国精日本亚洲欧州国产中文久久 | 欧美久久久久久久久久伊人 | 天天操天天碰 | 99久久99| 日韩免费福利视频 | 欧美一区2区三区4区公司二百 | 99在线观看 | 在线免费色视频 | 成人午夜在线观看 | 亚洲 欧美 自拍偷拍 | 国产伦精品一区二区三毛 | 国产超碰人人爽人人做人人爱 | 日韩一区二区不卡 | 日日夜夜天天干干 | 免费av毛片 | 欧美一区二区三区爽大粗免费 | 91社区在线高清 | 亚洲视频一区二区三区 | 久久国产精品一区二区三区 | 成人免费黄色小视频 | 亚洲成人免费在线 | 欧美啊v| 在线看国产| 伊人av超碰久久久麻豆 | 人人爱夜夜爽日日视频 | 午夜影院在线免费观看 | 国产精品免费在线 | 久久久精品免费观看 | 久草久 | 午夜视频在线观看网站 | 动漫泳衣美女 | 欧美日韩中文在线 | 久久av网| 久久亚洲精品国产一区 | 久久综合一区二区 | 国产精品精品 | 中文字幕乱码一区二区三区 | 黄色在线免费观看 | 亚洲欧美日韩在线 | 久久99精品久久久久蜜臀 | 日韩电影免费在线观看中文字幕 | 亚洲视频欧美视频 | 亚洲视频一区二区三区四区 | 国产精品久久久久久久久免费丝袜 | 亚洲美女视频一区二区三区 | 激情欧美日韩一区二区 | 中文字幕精品一区久久久久 | 国产精品99一区二区三区 | 97碰碰碰免费公开在线视频 | 精品在线视频观看 | 亚洲视频1区 | 在线免费看a | 午夜家庭影院 | 在线91| 看a网址| 国产三级网站 | 国产伦精品一区二区 | 日狠狠| 亚洲欧美日韩天堂 | 欧美日韩亚洲三区 | 欧美一级裸体视频 | 91性高湖久久久久久久久网站 | 久久国产精品99久久久久久牛牛 | 免费黄在线观看 | 欧美精品一区在线发布 | 亚洲高清精品视频 | 欧美日一区 | 国产在线精品一区二区 | 欧美激情精品一区 | 欧美成人一区二免费视频软件 | 久久小视频| 日韩一区二区在线免费观看 | 亚洲三区视频 | 久久久久久久久久久久国产精品 | 男女污污网站 | 久久国产精品99久久久久久老狼 | 一区二区国产在线观看 | 99在线观看| 最新国产精品 | 成人h在线 | 99热成人在线 | 国产精品久久久久久久久久久久久 | 国产91精品在线 | 精品一区二区三区免费视频 | 亚洲欧美一区二区精品中文字幕 | 97精品| 亚洲高清视频在线 | 久久精品小视频 | 欧美日韩国产在线观看 | www婷婷av久久久影片 | 国产欧美精品一区二区 | 国产午夜精品久久久久久久 | 国产黄色播放 | 亚洲第一性理论片 | www.av7788.com| 日本成人午夜影院 | 欧美在线a | 久久欧美精品一区 | 日韩毛片在线观看 | 亚洲精品久久一区二区三区 | 中文天堂在线观看视频 | 欧美中文在线 | 国产高清免费 | 999精品视频 | 国产精品久久久久久久久免费桃花 | 91九色国产视频 | 免费在线日韩 | 亚洲最黄网站 | 欧美亚洲国产一区 | 国产高潮呻吟久久渣男片 | 国产免费av网站 | 男女免费在线观看视频 | 欧美日韩精品亚洲 | 亚洲一级视频在线 | 欧美在线一二三 | 国产精品毛片一区二区在线看 | 免费不卡视频 | 青青伊人久久 | www.久久伊人 | 亚洲成a人 | 久久国产精品毛片 | 久久久美女 | 一区二区视频 | 亚洲精品一区二三区不卡 | 一级黄色录像在线观看 | 久久骚| 欧美video| 亚洲精品二区 | 日韩精品一区二区三区中文在线 | 亚洲精片 | 国产精品一区二区三区在线 | 亚洲视频免费在线 | 激情自拍偷拍 | 国产成人免费视频网站视频社区 | 香蕉国产精品 | 欧美日韩国产在线观看 | 中文字幕在线免费视频 | 中国国产一级毛片 | 国产成人精品一区二区三区 | 欧美全黄| 欧美日韩视频 | 国产网站视频 | 一级日韩电影 | 一级毛片观看 | 久久精品1 | 日本久久久一区二区三区 | 天堂精品| 久久99国产伦子精品免费 | 成人不卡 | 成人在线免费电影 | 国产精品久久久久久久久久久久久久 | 96久久久久久 | 国产在线视频网站 | 欧美自拍视频在线观看 | 综合婷婷 | 性大毛片视频 | 国产午夜精品久久久久久久 | 成人在线免费观看 | av色资源 | 精品永久 | 日本三级不卡 | 七龙珠z普通话国语版在线观看 | 天天舔天天爽 | 天天操夜夜拍 | 久久久久久久 | 久草电影网 | yy6080久久伦理一区二区 | 国产精品国色综合久久 | 国产精品久久久久久久久久 | 黄色小视频免费观看 | 久久精品亚洲精品 | 在线免费看a | 天天爽夜夜爽夜夜爽精品视频 | 97伦理网| 日本在线观看视频一区 | 麻豆专区一区二区三区四区五区 | 伊人伊人网 | 久久综合久久综合久久 | 蜜桃视频麻豆女神沈芯语免费观看 | 精品一区二区三区三区 | 我看午夜视频 | 日本一级淫片免费看 | 亚洲欧美激情另类 | 黄色一级电影 | 精品一区二区三区免费 | 精品www | 日本久久综合 | 亚洲免费在线观看视频 | 亚洲成人二区 | 国产中文视频 | 欧美综合在线观看 | 欧美在线一级 | www.伊人网 | 91免费在线看 | 国产欧美一二三区在线粉嫩 | 99re国产 | 亚洲区国产区 | 日韩在线成人 | 亚洲国产精品久久 | 成人综合在线观看 | 日日操天天射 | 久久久久久久久中文字幕 | 国产精品一区二区三区在线看 | 午夜大片在线观看 | 日韩一区二区三区福利视频 | 免费一级片 | 精品国产成人 | 国产男人天堂 | 成人欧美一区二区三区在线观看 | 国产精品91av | 国产成人av综合 | 狠狠干美女 | 青草精品 | 91在线精品一区二区 | 精品视频一区二区在线观看 | 欧美日韩大陆 | 性培育学校羞耻椅子调教h 欧美精品网站 | 欧洲亚洲精品久久久久 | 久久一级| 久久精品在线 | 成人在线视频免费观看 | 日韩精品中文字幕在线播放 | 91香蕉 | 久久久精彩视频 | 视频一区二区中文字幕 | 欧美久久精品 | 狠狠操天天干 | 欧美日韩精品一区二区 | 日本a v在线播放 | 精品国产一区二区三区性色av | 99在线免费视频 | 欧美自拍三区 | 国内自拍视频在线观看 | 中文字幕精品一区二区三区精品 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 中文字幕在线观看视频一区 | 国产精品久久久久久久久久免费 | 成人影院欧美黄色 | 成人三级免费 | 97av视频在线观看 | 亚洲欧美综合一区 | 久久视频免费在线 | 日韩精品专区在线影院重磅 | 91免费版在线观看 | 美女131mm久久爽爽免费 | 精品国产一区二区三区成人影院 | 精品一区在线 | 色毛片 | 久久在线视频 | 成人黄色在线视频 | 亚洲成人高清在线 | 久久黄网 | 色久在线| 四季久久免费一区二区三区四区 | 精品成人免费一区二区在线播放 | 国产精品久久久久久久午夜片 | 麻豆av在线播放 | 杨门女将寡妇一级裸片看 | 超碰8| 亚洲视频免费网站 | 求av网站| 国产在线一区二区三区 | 成年人黄色一级毛片 | 欧美日韩在线一区 | 成人欧美日韩一区二区三区 | 亚洲欧洲精品一区二区三区 | 欧美极品一区 | 九九视频这里只有精品 | 龙珠z普通话国语版在线观看 | 亚洲视频二区 | 日韩免费精品 | h小视频| 国产成人精品一区二区 | 婷婷久久综合 | 亚洲精品一区在线观看 | 伊人av超碰久久久麻豆 | 亚洲国产精品va在线看黑人 | 在线观看免费的网站www | 欧美精品在欧美一区二区少妇 | 一区二区三区影院 | 免费看毛片的网站 | 欧日韩免费视频 | 91在线高清 | 精品久久香蕉国产线看观看亚洲 | 久久久精品影院 | 看毛片软件 | 久久精品久久久久电影 | 国内久久精品 | 国产三级在线 | 久久精品一区二区 | 9999国产精品欧美久久久久久 | 日本中文在线 | 中文字幕在线视频网站 | 日韩城人网站 | 风间由美一区二区三区在线观看 | 久草高清在线 | 国产做a爱片久久毛片 | 亚洲精品久久久久久久久久 | 亚洲精品成人 | 中文亚洲欧美 | 国产96在线观看 | 国产精品福利在线 | 成人在线播放 | 日本欧美国产 | 日韩欧美在线观看一区二区 | 国产精品久久久久久久久久10秀 | 免费观看一级特黄欧美大片 | 久久久久久免费免费 | 欧洲亚洲精品久久久久 | 视频一区二区三区中文字幕 | 欧美成人手机在线 | 久久99精品久久久久久琪琪 | 日韩视频在线免费观看 | 欧洲成人在线视频 | 人妖天堂狠狠ts人妖天堂狠狠 | 亚洲精品一区二三区不卡 | 久久99国产精品久久99果冻传媒 | 欧美国产日韩一区 | 国产欧美精品一区二区三区 | 精品影院 | 久久精品国产精品亚洲 | 一区 | 国产裸体bbb视频 | 中文字幕在线观看 | 欧美理论片在线观看 | 欧美人成在线观看 | 精品国产一区二区三区性色av | av成人在线观看 | 欧美不卡一区二区三区 | 中文字幕第9页 | 久久久久久亚洲精品 | 国产精品嫩草55av | 日本高清无卡码一区二区久久 | 制服 丝袜 激情 欧洲 亚洲 | 国产97人人超碰caoprom | 欧美成人一区二区三区片免费 | 成人看的免费视频 | 91精品国产91久久久久久密臀 | 日韩在线国产精品 | 视频在线一区 | 91久久精品一区二区三区 | 久久久久久久国产 | 中文字幕 在线观看 | 中文字幕 国产精品 | 麻豆久久久9性大片 | xvideos视频| 亚洲国产成人精品女人久久久 | 日日干夜夜操 | 亚洲天堂男人 | 奇米色777欧美一区二区 | 99国产精品99久久久久久 | 国产在线播放av | 天天射美女| 成人在线视频网址 | 欧美日韩精品一区二区在线播放 | 国产精品久久嫩一区二区 免费 | 99精品视频网| 久久一区二区三区四区 | 亚洲一区 | 国产一区二区精品 | 我要看黄色一级大片 | 综合婷婷 | 中文字幕 在线观看 | www.色综合| 亚洲第一视频 | 国产精品久久电影观看 | 国产欧美一区二区视频 | 国产成人网 | 国产香蕉视频在线播放 | 成人一区二区在线 | 久久久网 | 欧美久久免费观看 | 国产精品成人一区二区 | 亚洲色图综合 | 欧美日韩精品在线 | 亚洲一区中文字幕在线 | 亚洲高清在线 | 亚洲成人福利 | 手机看片在线 | 欧美不卡一区二区 | 91欧美激情一区二区三区成人 | 国产高清精品一区二区三区 | 日韩一区二区三区在线视频 | 天天干狠狠干 | 亚洲精品久久久久国产 | 人和拘一级毛片 | 精品国产乱码久久久久久影片 | 国产日日夜夜操 | 久久精品国产99国产精品 | 亚洲精品影院在线 | 国产成人亚洲精品 | 三级视频在线观看 | 国产三级视频 | 97久久超碰 | 91久久九色| 日韩精品 电影一区 亚洲 | 亚洲嫩草 | 日韩免费一区 | 后人极品翘臀美女在线播放 | 不卡视频一区二区 | 久久综合一区二区 | 国产三级在线 | 久久综合狠狠综合久久综合88 | 日本中文字幕一区 | 激情网站免费 | japan23xxxxhd乱| 啪啪网站免费 | 最近免费中文字幕大全免费版视频 | 男女18免费网站视频 | 一级二级黄色大片 | 日韩午夜场 | 国产99久久| 九九热在线视频 | 99久久免费精品国产男女性高好 | 免费毛片在线 | 男人天堂视频在线观看 | 亚洲不卡视频 | 亚洲高清免费视频 | 亚洲精品66 | 久久精品久久久 | 一本色道久久综合狠狠躁篇的优点 | 亚洲精彩视频 | 欧美狠狠操 | 免费视频成人 | 日日爽天天操 | 国产精品香蕉 | 精品视频一区在线观看 | 色国产精品| 精品国产不卡一区二区三区 | 久久久久国产 | 国产欧美精品一区aⅴ影院 毛片视频网站 | av网站免费线看 | 欧美性一区二区三区 | 久久精品色欧美aⅴ一区二区 | 看片地址 | 亚洲第一视频 | 国产成人综合在线 | 国产成人精品一区二区三区视频 | 人人爱超碰 | 亚洲性生活免费视频 | 婷婷久久五月 | 国产三区在线观看视频 | 日韩1区3区4区第一页 | 国产在线观看av | 得得啪在线视频 | 免费亚洲成人 | 欧美日本免费一区二区三区 | 亚洲女人的天堂 | 国产精品久久久久久久久久久久久 | 欧美卡一卡二 | www国产成人免费观看视频,深夜成人网 | 日本videos18高清hd下 | 欧美视频在线播放 | 天天综合永久入口 | 国产日韩精品视频 | 一级黄免费看 | 精品日韩一区二区三区 | 97超碰在线免费 | 国产一区二区精品 | 99久久久久国产精品免费 | 4hu网站| 艹逼逼视频| 中文字幕一区二区在线观看 | 成人免费一区二区三区视频网站 | av一二| 嫩草影院网站入口 | 国产高清久久久 | 黄色综合网 | 日韩欧美在线观看一区二区 | 综合网在线 | 亚洲国产精品一区 | 欧美成人午夜视频 | a级在线观看免费 | 伊人操操| 欧美视频一区二区 | a级在线| 亚洲精选免费视频 | 亚洲国产精品成人 | 久久久精品国产 | 一二区精品 | 在线播放国产一区二区三区 | 久久久久国产精品午夜一区 | 日韩激情免费视频 | 一区二区免费看 | 欧美日韩一区二区三区在线观看 | 免费的一级毛片 | 久久久成人av| 桃色视频在线播放 | 一区二区三区免费网站 | 国产三级视频 | 午夜视频| 毛片网| 久久精品久久久 | 中文在线亚洲 | 99热热热| 日韩国产一区 | 久久九精品 | 精品国产天堂 | 久久久中文 | 国产精品美女久久 | 久久久久91 | 色图综合 | 成人免费一区二区三区视频网站 | 国产中文字幕一区 | 国产野精品久久久久久久不卡 | 国产女爽123视频.cno | 欧洲精品视频在线观看 | 亚洲精品一二三区 | 亚洲国产成人久久综合一区,久久久国产99 | 久操成人| a在线观看免费视频 | 国产精品一区二区三 | 久久久久久久国产精品 | 精品久久久久久国产 | 日韩视频中文字幕 | 成人亚洲天堂 | 国产色| 亚洲高清在线观看 | 亚洲人成电影网 | 在线观看视频一区二区 | 99这里只有精品视频 | www在线视频| 国产三区四区 | 九色视频在线播放 | 婷婷精品 | 亚洲精品色 | 成人亚州 | 欧美成人免费视频 | 久久极品| 亚洲综合中文网 | 精品96久久久久久中文字幕无 | 日韩爱爱视频 | 色婷婷亚洲一区二区三区 | 色999国产 | 欧美日韩电影一区 | 不卡视频一区 | 99久久99 | 国产视频一视频二 | 精品久久久久久久久久久久久久 | 国产精品九九九 | 免费毛片网站 | 97人人干 | 久色91| 91久草视频 | 国产精品一码二码三码在线 | 一区 | 在线播放亚洲 | 国产一区亚洲 | 欧美日韩激情 | 国产黄色大片免费看 | 日韩成人免费 | 国产1页| 国产精品视频入口 | 少妇一级淫片免费放 | 国产日韩欧美精品一区二区三区 | 久久精品这里热有精品 | 小草av| 激情欧美日韩一区二区 | 国产精品久久免费视频 | 国产亚洲精品精品国产亚洲综合 | 日韩三区| 伊人91 | 久久精品色欧美aⅴ一区二区 | 午夜午夜精品一区二区三区文 | 99国产精品久久久久老师 | 国产1级片 | 欧美视频免费在线 |