求大神带

求大神带 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

求大神带 赞了回答 · 9月9日

angular的ChangeDetectionStrategy

因为 Angular 每次做变化检测时都是从组件树从上至下,因此当遇到 OnPush 时该节点下所有组件也就不再处理。

关注 2 回答 1

求大神带 提出了问题 · 9月8日

angular的ChangeDetectionStrategy

如果在angular父组件中设置changeDetection为ChangeDetectionStrategy.OnPush,然后在子组件中设置changeDetection为ChangeDetectionStrategy.Default。此种做法子组件中更新策略还是OnPush,请问为什么?

关注 2 回答 1

求大神带 关注了问题 · 4月23日

在html下如何实现摄像头录制的视频实时显示在当前页面中的另一个video中

现在有个项目,在同html中有两个video,一个video打开摄像头录制视频,另一个video实时显示录制的视频,利用MediaRecoder、MediaSouce,求大神指导,代码如下:

test.html

<!doctype html>
<html>

<head>
    <meta charset="UTF-8">
    <title>摄像头调用</title>
    <style>
        #test {
            width: 200px;
            height: 200px;
        }
    </style>
</head>

<body>
    <video id="v"></video>
    <video id="test"></video>
    <button onclick="openCamera()">启用摄像头</button>
    <script>
        var video = document.querySelector('#v');
        var testVideo = document.querySelector('#test');
        var mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
        var sourceBuffer;
        var mediaRecorder;
        var mediaStream;

        // 接收视频并展示
        var mediaSource = new MediaSource();
        testVideo.src = URL.createObjectURL(mediaSource);

        mediaSource.addEventListener('sourceopen', (event) => {
            console.log('mediaSource打开:', event);
            sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);

            sourceBuffer.addEventListener('updateend', (event) => {
                console.log('sourceBuffer更新结束:', event);
                mediaSource.endOfStream();
                testVideo.play();
            });

        });

        function openCamera() {
            var constraints = { audio: true, video: { width: 100, height: 100 } };

            navigator.mediaDevices.getUserMedia(constraints)
                .then(stream => {
                    mediaStream = stream;
                    console.log('mediaStream-', mediaStream);

                    video.srcObject = mediaStream;
                    video.onloadedmetadata = function (e) {
                        console.log('视频可以使用', e);
                        console.dir(video);
                        video.play();
                    };


                    mediaRecorder = new MediaRecorder(mediaStream);

                    mediaRecorder.ondataavailable = (event) => {
                        sourceBuffer.appendBuffer(event.data);
                    }

                    mediaRecorder.start(1000);
                })
                .catch(err => { console.log(err.name + ": " + err.message); });
        }
    </script>
</body>

</html>

运行之后会报如下错误:
image.png
一运行到sourceBuffer.appendBuffer(event.data)就会报错

关注 3 回答 0

求大神带 提出了问题 · 4月22日

在html下如何实现摄像头录制的视频实时显示在当前页面中的另一个video中

现在有个项目,在同html中有两个video,一个video打开摄像头录制视频,另一个video实时显示录制的视频,利用MediaRecoder、MediaSouce,求大神指导,代码如下:

test.html

<!doctype html>
<html>

<head>
    <meta charset="UTF-8">
    <title>摄像头调用</title>
    <style>
        #test {
            width: 200px;
            height: 200px;
        }
    </style>
</head>

<body>
    <video id="v"></video>
    <video id="test"></video>
    <button onclick="openCamera()">启用摄像头</button>
    <script>
        var video = document.querySelector('#v');
        var testVideo = document.querySelector('#test');
        var mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
        var sourceBuffer;
        var mediaRecorder;
        var mediaStream;

        // 接收视频并展示
        var mediaSource = new MediaSource();
        testVideo.src = URL.createObjectURL(mediaSource);

        mediaSource.addEventListener('sourceopen', (event) => {
            console.log('mediaSource打开:', event);
            sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);

            sourceBuffer.addEventListener('updateend', (event) => {
                console.log('sourceBuffer更新结束:', event);
                mediaSource.endOfStream();
                testVideo.play();
            });

        });

        function openCamera() {
            var constraints = { audio: true, video: { width: 100, height: 100 } };

            navigator.mediaDevices.getUserMedia(constraints)
                .then(stream => {
                    mediaStream = stream;
                    console.log('mediaStream-', mediaStream);

                    video.srcObject = mediaStream;
                    video.onloadedmetadata = function (e) {
                        console.log('视频可以使用', e);
                        console.dir(video);
                        video.play();
                    };


                    mediaRecorder = new MediaRecorder(mediaStream);

                    mediaRecorder.ondataavailable = (event) => {
                        sourceBuffer.appendBuffer(event.data);
                    }

                    mediaRecorder.start(1000);
                })
                .catch(err => { console.log(err.name + ": " + err.message); });
        }
    </script>
</body>

</html>

运行之后会报如下错误:
image.png
一运行到sourceBuffer.appendBuffer(event.data)就会报错

关注 3 回答 0

求大神带 提出了问题 · 3月23日

nginx反向代理nodejs服务器不成功?

我做了一个windows下简单的nginx反向代理node服务的配置,单独的打开nginx监听的地址端口没问题(127.0.0.1),单独访问node监听的端口也没问题(127.0.0.1:9090)。但是,用nginx反向代理node监听的端口之后,访问127.0.0.1/x/y,页面一直是404,node服务器一直收不到请求。
经换机器测试在windows 10系统上可用,windows server 2016不可用,防火墙已关闭。
简单的代码示例如下图:

// node服务器端代码app.js
const Application = require('koa');

const app = new Application();

app.use(ctx => {
    console.log('nginx代理');
    ctx.response.body = {
        test: 'nginx代理到node'
    };
});

app.listen(9090, () => {
    console.log('监听9090端口');
});
// nginx.conf下server的配置,其他默认
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   html;
        index  index.html index.htm;
    }

    location /x/ {
        proxy_pass http://127.0.0.1:9090;
    }
    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

麻烦大神指导一下,跪谢~~~
环境:
操作系统:windows server 2016
node版本:v12.16.1
koa:^2.11.0
nginx:1.17.9

关注 3 回答 3

求大神带 提出了问题 · 2019-07-10

tcp是何时告诉上层应用可以取接受缓冲区数据了?

请问在一次http请求中,需要请求一张图片,接收方tcp是把这张照片完整的拿到才告知应用程序可以使用读取接收缓冲区数据,还是只要取到部分就可通知应用读取接收缓冲区数据?

关注 2 回答 1

求大神带 关注了问题 · 2019-06-28

关于compositionstart在html中不触发的问题

在input输入框中有个事件定义<input type="text" oncompositionstart="test()">,
test方法已有定义,中文输入的时候不能触发,但是用addEventListener添加compositionstart事件就可以被触发,请问为什么一定要在addEventListener中添加才能触发呢

关注 2 回答 1

求大神带 关注了问题 · 2019-06-28

关于compositionstart在html中不触发的问题

在input输入框中有个事件定义<input type="text" oncompositionstart="test()">,
test方法已有定义,中文输入的时候不能触发,但是用addEventListener添加compositionstart事件就可以被触发,请问为什么一定要在addEventListener中添加才能触发呢

关注 2 回答 1

求大神带 关注了问题 · 2019-06-26

关于compositionstart在html中不触发的问题

在input输入框中有个事件定义<input type="text" oncompositionstart="test()">,
test方法已有定义,中文输入的时候不能触发,但是用addEventListener添加compositionstart事件就可以被触发,请问为什么一定要在addEventListener中添加才能触发呢

关注 2 回答 1

求大神带 提出了问题 · 2019-06-26

关于compositionstart在html中不触发的问题

在input输入框中有个事件定义<input type="text" oncompositionstart="test()">,
test方法已有定义,中文输入的时候不能触发,但是用addEventListener添加compositionstart事件就可以被触发,请问为什么一定要在addEventListener中添加才能触发呢

关注 2 回答 1

认证与成就

  • 获得 0 次点赞
  • 获得 3 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 3 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2018-12-28
个人主页被 116 人浏览