12 2021 档案
摘要:网络延迟是一种比较常见的情况。在本地网页上,我们可以建立多个RTCPeerConnection,增加转发次数,来模拟出网络延迟的效果。 建立通话后,再往后面增加本地转发节点。 准备 页面准备,方便我们后面调试 <div id="container"> <h1><a href="https://an.
阅读全文
摘要:我们有时候在音频通话过程中,想要改成视频通话。如果挂断当前通话再重新发起视频通话就会显得比较麻烦。 因此很多app提供了将音频通话升级成视频通话的功能,同时也有将视频通话降为音频通话的功能。 本文演示的是在本地模拟音频通话,并且将音频通话升级为视频通话。 准备 界面很简单,2个video加上几个按钮
阅读全文
摘要:WebRTC打开麦克风,获取音频,在网页上显示音量。 播放示例音频 先从播放音频入手。准备一个现成的音频文件。 界面上放一个audio元素,提前准备好一个音频文件,路径填入src <audio id="sample-audio" src="God_knows_01.mp3" controls aut
阅读全文
摘要:Android CameraX获取视频帧。设置分析器以及分析器的各项参数。将获取到的视频帧数据存为文件。Android CameraX Analyzer ImageProxy YUV_420_888 to NV21
阅读全文
摘要:目标很简单,用CameraX打开摄像头预览,实时显示在界面上。看看CameraX有没有Google说的那么好用。先按最简单的来,把预览显示出来。 引入依赖 模块gradle的一些配置,使用的Android SDK版本为31,启用了databinding apply plugin: 'com.andr
阅读全文
摘要:前面我们能够打开摄像头。getUserMedia()时会传入参数,在参数里我们可以指定宽高信息。通过宽高参数控制输出的视频分辨率。 html 在页面上摆放一些元素,下面是主要部分 <div id="container"> <div id="buttons"> <button id="stop">停止
阅读全文
摘要:WebRTC有分享屏幕的功能。使用的是getDisplayMedia方法。用户同意分享屏幕后,可以拿到视频流。 再结合MediaRecorder和Blob,把视频流数据存下来,就能得到录制屏幕的视频。 html 照例先来摆放一些元素在界面上 <div id="container"> <h3>WebR
阅读全文
摘要:前面我们能打开本地摄像头,并且在网页上看到摄像头的预览图像。 本文我们使用MediaRecorder来录制视频。在网页上播放录制好的视频,并能提供下载功能。 html 首先创建一个html界面,放上一些元素 <video id="v1" playsinline autoplay muted></vi
阅读全文