• xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!


    HTMLMediaElement.srcObject & URL.createObjectURL & HTMLMediaElement.src

    Uncaught TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.

    https://learning.xgqfrms.xyz/000projects/pwa-photo/index.html

    video.srcObject = mediaStream;

    https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject

    The object can be a MediaStream, a MediaSource, a Blob, or a File (which inherits from Blob).

        // Request the camera.
        // const mediaStream = await navigator.mediaDevices.getUserMedia({video: true});
        navigator.getMedia(
          {
            video: true
          },
          // Success Callback
          function (stream) {
            log(`stream`, typeof stream, stream);
            // const mediaStream = new MediaStream();
            // video.src = URL.createObjectURL(mediaStream);
            // Uncaught (in promise) DOMException: Failed to load because no supported source was found.
            // video.src = stream;
            // const mediaStream = new MediaStream(stream);
            // const mediaStream = new MediaStream();
            video.srcObject = stream;
            // Create an object URL for the video stream and set it as src of our HTLM video element.
            // video.src = URL.createObjectURL(stream);
            // Play the video element to start the stream.
            video.play();
            video.onplay = function () {
              showVideo();
            };
          },
          // Error Callback
          function (err) {
            displayErrorMessage("There was an error with accessing the camera stream: " + err.name, err);
          }
        );
    
    

    promise

    Uncaught (in promise) DOMException: Failed to load because no supported source was found

    Uncaught SyntaxError: await is only valid in async function

    // async  await
    const mediaStream = await navigator.mediaDevices.getUserMedia({video: true});
    
    

    async await

          // Success Callback
          async function (stream) {
            const mediaStream = await navigator.mediaDevices.getUserMedia({video: true});
            log(`stream`, typeof stream, stream);
            // const mediaStream = new MediaStream();
            // video.src = URL.createObjectURL(mediaStream);
            // Uncaught (in promise) DOMException: Failed to load because no supported source was found.
            // video.src = stream;
            // const mediaStream = new MediaStream(stream);
            // const mediaStream = new MediaStream();
            video.srcObject = mediaStream;
            // video.srcObject = stream;
            // Create an object URL for the video stream and set it as src of our HTLM video element.
            // video.src = URL.createObjectURL(stream);
            // Play the video element to start the stream.
            video.play();
            video.onplay = function () {
              showVideo();
            };
          },
    
    

    ©xgqfrms 2012-2020

    www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


  • 相关阅读:
    Java线程的5个使用技巧
    每个Java程序员需要了解的8个Java开发工具
    爱上Java和JVM的10大理由
    Git入门
    建网站的流程
    idea快捷键
    idea中ctrl+alt+方向键问题
    oracle数据库-备份
    rabbitmq路由模式、订阅、主题
    rabbitmq 工作模式、简单模式
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/13033177.html
Copyright © 2020-2023  润新知