宿雪冷音
  • 随笔
  • 音乐
  • 后端
  • 前端
    • JavaScript
    • css
    • TypeScript
    • nodejs
JavaScript
JavaScript

基于webRTC推流的直播方案

直播 成熟的直播业务,诸如抖音、快手、斗鱼,多采用自研推流端或者OBS,由于公司人才匮乏和与业务融合的需求,所以使用web端推流的方式。 webRTC WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。 在我看来,低延迟是webRTC最大的优点,相对来说,图像质量不会太高。当然对于现在的我来说,是…

2021年04月09日 0条评论 6点热度 0人点赞 阅读全文
JavaScript

【译文】"(a===1 && a===2 && a===3)" (严格模式) 是否一定为真 (in JavaScript)

让我们看看如何在对象的get和set的帮助下让a===1 && a===2 && a===3为真。 a==1 && a==2 && a==3宽松相等 a==1 && a==2 && a==3 a==1 && a==2 && a==3可以为真吗? 当然可以,你可以这么做: const a = { value : 0 }; a.valueOf = function() { return thi…

2021年03月26日 0条评论 6点热度 0人点赞 阅读全文
JavaScript

JS原始值转换算法---toPrimitive()

在js中,想要将对象转换成原始值,必然会调用toPrimitive()内部函数,那么它是如何工作的呢? 该函数形式如下: toPrimitive(input,preferedType?) input是输入的值,preferedType是期望转换的类型,他可以是字符串,也可以是数字。 如果转换的类型是number,会执行以下步骤: 如果input是原始值,直接返回这个值; 否则,如果input是对象,调用input.valueOf(),如果结果是原始值,返回结果; 否则,调用input.toString()。如果结果…

2021年03月26日 0条评论 8点热度 0人点赞 阅读全文
JavaScript

前端路由的原理

路由 路由,在计算机领域各个分领域,都有应用。最基础的,是计算机网络中的路由。 均为个人理解,不保证正确 网络路由 路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程。 按照我的理解,数据从一台设备到另一台设备进行传输,进行路径选择的过程即为路由。 路由表存储着指向特定网络地址的路径,意思就是选择传输路径时,总要有一些的路径信息可选,这些信息就是路由表。 后端路由 当客户端执行网络请求时,服务端会根据内部的路径解析配置表(即为路由表),触发不同的行为,这个过程就是路由。 特殊的,当所有的行…

2021年01月16日 0条评论 126点热度 0人点赞 阅读全文
JavaScript

JSON序列化内存泄漏

产品形态 一个看书的应用,可以翻页。 场景 为了更好的缓存ajax数据,做了比较多的数据缓存,测试发现,使用页面一会过后页面会变卡,在微信浏览器环境下,直接闪退。第一反应是请求太慢,去掉花费时间较长的请求后,依然变卡。所以就做了时间断点测试。 过程分析 代码如下: 一共有4个时间点: 这整块代码的执行时间:getPageContent 获取源数据的执行时间:getChapterJSON 数组查找方法:chapterJSONfind 对象序列化:JSONstringify 然后执行翻页操作所得的时间如下: 一眼可以看…

2020年12月22日 0条评论 52点热度 0人点赞 阅读全文
JavaScript

监听元素在视图内的可见性

有个需求,让视频消失在视图中时停止播放,遂研究起了元素在视图内的可见性。 技术准备 全新的api window.IntersectionObserverEntry可以用于观察元素在视图屏幕区域的可见性,详见MDN。 每当元素与屏幕产生区域交叉时,该函数被触发,并返回交叉区域参数。 滚动监听技术 如果不支持上述的api,就要考虑滚动事件监听实现,每次滚动时就计算元素边缘与视图屏幕的相对关系,以此来判断元素在屏幕上的可视范围。 技术实现 为了实现该功能,你需要做以下工作: 1. window.IntersectionO…

2020年11月12日 7条评论 134点热度 0人点赞 阅读全文
JavaScript

移动端H5音频播放兼容

Audio 标签属性: 设置 preload="auto" 设置 currentTime 移动端IOS在设置currentTime 时,会存在异常。具体来说,只有在音频可播放时,才能设置时间。 而可播放的判断则是监听canplay事件,该事件的触发在ios和安卓上也有所区分,安卓是页面一加载就触发,ios是play播放之后触发。这给我们写代码造成了不小的麻烦。所以我采用以下办法: /** * ios/安卓音频设置音频开始时间兼容处理,ios要play之后才能设置 * @param {Elemen…

2020年11月10日 0条评论 52点热度 1人点赞 阅读全文
JavaScript

React v16.8.x - Hooks 概述

hooks 是向后兼容的。此页面提供了有经验的React用户对Hooks的概述。这是一个快节奏的概述。 state Hooks 此示例呈现计数器。单击该按钮时,它会递增值: import React, { useState } from 'react'; function Example() { // 声明一个state:count ,初始值是0 const [count, setCount] = useState(0); return ( <div> <p>You cl…

2020年10月07日 0条评论 66点热度 0人点赞 阅读全文
JavaScript

React v16.8.x - Hooks 简介

Hooks 是 React v16.8 加入的新特性,它可以让你使用 state 和其他特性,而不用类组件。 import React, { useState } from 'react'; function Example() { // 声明一个 state const [count, setCount] = useState(0); return ( <div> <p>You clicked {count} times</p> <button onC…

2020年10月07日 0条评论 49点热度 0人点赞 阅读全文
JavaScript

React v16.8.x - State Hook

前面的例子介绍了Hooks的例子: import React, { useState } from 'react'; function Example() { // Declare a new state variable, which we'll call "count" const [count, setCount] = useState(0); return ( <div> <p>You clicked {count} times<…

2020年10月07日 0条评论 43点热度 0人点赞 阅读全文
12
分类目录
  • JavaScript
  • nodejs
  • TypeScript
  • 前端
  • 后端
  • 译文
  • 随笔
2021年4月
一 二 三 四 五 六 日
 1234
567891011
12131415161718
19202122232425
2627282930  
« 3月    
文章归档
  • 2021年4月
  • 2021年3月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
分类目录
  • JavaScript
  • nodejs
  • TypeScript
  • 前端
  • 后端
  • 译文
  • 随笔

COPYRIGHT © 2020 宿雪冷音. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS