Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 8.22 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <!--
  3. *  Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
  4. *
  5. *  Use of this source code is governed by a BSD-style license
  6. *  that can be found in the LICENSE file in the root of the source
  7. *  tree.
  8. -->
  9. <html>
  10. <head>
  11.  
  12.   <meta charset="utf-8">
  13.   <meta name="description" content="WebRTC reference app">
  14.   <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1">
  15.   <meta itemprop="description" content="Video chat using the reference WebRTC application">
  16.   <meta itemprop="image" content="/images/webrtc-icon-192x192.png">
  17.   <meta itemprop="name" content="AppRTC">
  18.   <meta name="mobile-web-app-capable" content="yes">
  19.   <meta id="theme-color" name="theme-color" content="#1e1e1e">
  20.  
  21.   <base target="_blank">
  22.  
  23.   <title>AppRTC</title>
  24.  
  25.   <link rel="manifest" href="/manifest.json">
  26.   <link rel="icon" sizes="192x192" href="/images/webrtc-icon-192x192.png">
  27.  
  28.   <link rel="canonical" href="">
  29.  
  30.   <link rel="stylesheet" href="/css/main.css">
  31.  
  32. </head>
  33.  
  34. <body>
  35.   <!--
  36.   * Keep the HTML id attributes in sync with |UI_CONSTANTS| defined in
  37.   * appcontroller.js.
  38.  -->
  39.   <div id="videos">
  40.     <video id="mini-video" autoplay playsinline muted></video>
  41.     <video id="remote-video" autoplay playsinline></video>
  42.     <video id="local-video" autoplay playsinline muted></video>
  43.   </div>
  44.  
  45.   <div id="room-selection" class="hidden">
  46.     <h1>AppRTC</h1>
  47.     <p id="instructions">Please enter a room name.</p>
  48.     <div>
  49.       <div id="room-id-input-div">
  50.         <input type="text" id="room-id-input" autofocus/>
  51.         <label class="error-label hidden" for="room-id-input" id="room-id-input-label">Room name must be 5 or more characters and include only letters, numbers, underscore and hyphen.</label>
  52.       </div>
  53.       <div id="room-id-input-buttons">
  54.         <button id="join-button">JOIN</button>
  55.         <button id="random-button">RANDOM</button>
  56.       </div>
  57.     </div>
  58.     <div id="recent-rooms">
  59.       <p>Recently used rooms:</p>
  60.       <ul id="recent-rooms-list"></ul>
  61.     </div>
  62.   </div>
  63.  
  64.   <div id="confirm-join-div" class="hidden">
  65.     <div>Ready to join<span id="confirm-join-room-span"></span>?</div>
  66.     <button id="confirm-join-button">JOIN</button>
  67.   </div>
  68.  
  69.   <footer>
  70.     <div id="sharing-div">
  71.       <div id="room-link">Waiting for someone to join this room: <a id="room-link-href" href="" target="_blank"></a></div>
  72.     </div>
  73.     <div id="info-div">Code for AppRTC is available from <a href="http://github.com/webrtc/apprtc" title="GitHub repo for AppRTC">github.com/webrtc/apprtc</a></div>
  74.     <div id="status-div"></div>
  75.     <div id="rejoin-div" class="hidden"><span>You have left the call.</span> <button id="rejoin-button">REJOIN</button><button id="new-room-button">NEW ROOM</button></div>
  76.   </footer>
  77.  
  78.   <div id="icons" class="hidden">
  79.  
  80.     <svg id="mute-audio" xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewbox="-10 -10 68 68">
  81.     <title>title</title>
  82.       <circle cx="24" cy="24" r="34">
  83.         <title>Mute audio</title>
  84.       </circle>
  85.       <path class="on" transform="scale(0.6), translate(17,18)" d="M38 22h-3.4c0 1.49-.31 2.87-.87 4.1l2.46 2.46C37.33 26.61 38 24.38 38 22zm-8.03.33c0-.11.03-.22.03-.33V10c0-3.32-2.69-6-6-6s-6 2.68-6 6v.37l11.97 11.96zM8.55 6L6 8.55l12.02 12.02v1.44c0 3.31 2.67 6 5.98 6 .45 0 .88-.06 1.3-.15l3.32 3.32c-1.43.66-3 1.03-4.62 1.03-5.52 0-10.6-4.2-10.6-10.2H10c0 6.83 5.44 12.47 12 13.44V42h4v-6.56c1.81-.27 3.53-.9 5.08-1.81L39.45 42 42 39.46 8.55 6z" fill="white"/>
  86.       <path class="off" transform="scale(0.6), translate(17,18)"  d="M24 28c3.31 0 5.98-2.69 5.98-6L30 10c0-3.32-2.68-6-6-6-3.31 0-6 2.68-6 6v12c0 3.31 2.69 6 6 6zm10.6-6c0 6-5.07 10.2-10.6 10.2-5.52 0-10.6-4.2-10.6-10.2H10c0 6.83 5.44 12.47 12 13.44V42h4v-6.56c6.56-.97 12-6.61 12-13.44h-3.4z"  fill="white"/>
  87.     </svg>
  88.  
  89.     <svg id="mute-video" xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewbox="-10 -10 68 68">
  90.       <circle cx="24" cy="24" r="34">
  91.         <title>Mute video</title>
  92.       </circle>
  93.       <path class="on" transform="scale(0.6), translate(17,16)" d="M40 8H15.64l8 8H28v4.36l1.13 1.13L36 16v12.36l7.97 7.97L44 36V12c0-2.21-1.79-4-4-4zM4.55 2L2 4.55l4.01 4.01C4.81 9.24 4 10.52 4 12v24c0 2.21 1.79 4 4 4h29.45l4 4L44 41.46 4.55 2zM12 16h1.45L28 30.55V32H12V16z" fill="white"/>
  94.       <path class="off" transform="scale(0.6), translate(17,16)" d="M40 8H8c-2.21 0-4 1.79-4 4v24c0 2.21 1.79 4 4 4h32c2.21 0 4-1.79 4-4V12c0-2.21-1.79-4-4-4zm-4 24l-8-6.4V32H12V16h16v6.4l8-6.4v16z" fill="white"/>
  95.     </svg>
  96.  
  97.     <svg id="fullscreen" xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewbox="-10 -10 68 68">
  98.       <circle cx="24" cy="24" r="34">
  99.         <title>Enter fullscreen</title>
  100.       </circle>
  101.       <path class="on" transform="scale(0.8), translate(7,6)" d="M10 32h6v6h4V28H10v4zm6-16h-6v4h10V10h-4v6zm12 22h4v-6h6v-4H28v10zm4-22v-6h-4v10h10v-4h-6z" fill="white"/>
  102.       <path class="off" transform="scale(0.8), translate(7,6)"  d="M14 28h-4v10h10v-4h-6v-6zm-4-8h4v-6h6v-4H10v10zm24 14h-6v4h10V28h-4v6zm-6-24v4h6v6h4V10H28z" fill="white"/>
  103.     </svg>
  104.  
  105.     <svg id="hangup" class="hidden" xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewbox="-10 -10 68 68">
  106.       <circle cx="24" cy="24" r="34">
  107.         <title>Hangup</title>
  108.       </circle>
  109.       <path transform="scale(0.7), translate(11,10)" d="M24 18c-3.21 0-6.3.5-9.2 1.44v6.21c0 .79-.46 1.47-1.12 1.8-1.95.98-3.74 2.23-5.33 3.7-.36.35-.85.57-1.4.57-.55 0-1.05-.22-1.41-.59L.59 26.18c-.37-.37-.59-.87-.59-1.42 0-.55.22-1.05.59-1.42C6.68 17.55 14.93 14 24 14s17.32 3.55 23.41 9.34c.37.36.59.87.59 1.42 0 .55-.22 1.05-.59 1.41l-4.95 4.95c-.36.36-.86.59-1.41.59-.54 0-1.04-.22-1.4-.57-1.59-1.47-3.38-2.72-5.33-3.7-.66-.33-1.12-1.01-1.12-1.8v-6.21C30.3 18.5 27.21 18 24 18z" fill="white"/>
  110.     </svg>
  111.  
  112.   </div>
  113.   <div id="privacy">
  114.     <a href="//www.google.com/accounts/TOS">Terms</a>
  115.     &#32;&#124;&#32;
  116.     <a href="//www.google.com/policies/privacy/">Privacy</a>
  117.     &#32;&#124;&#32;
  118.     <a href="//github.com/webrtc/apprtc">Code repo</a>
  119.   </div>
  120.  
  121.  
  122.  
  123.  
  124.  
  125.   <script src="/js/apprtc.debug.js"></script>
  126.  
  127.  
  128.  
  129.  
  130.   <script type="text/javascript">
  131.     var loadingParams = {
  132.       errorMessages: [],
  133.       isLoopback: false,
  134.       warningMessages: [],
  135.  
  136.       mediaConstraints: {"audio": true, "video": true},
  137.       offerOptions: {},
  138.       peerConnectionConfig: {"rtcpMuxPolicy": "require", "bundlePolicy": "max-bundle", "iceServers": []},
  139.       peerConnectionConstraints: {"optional": []},
  140.       iceServerRequestUrl: 'https://networktraversal.googleapis.com/v1alpha/iceconfig?key=AIzaSyA2WoxRAjLTwrD7upuk9N2qdlcOch3D2wU',
  141.       iceServerTransports: '',
  142.       wssUrl: 'wss://apprtc-ws.webrtc.org:443/ws',
  143.       wssPostUrl: 'https://apprtc-ws.webrtc.org:443',
  144.       bypassJoinConfirmation: false,
  145.       versionInfo: {"gitHash": "7341b731567cfcda05079363fb27de88c22059cf", "branch": "master", "time": "Mon Sep 23 10:45:26 2019 +0200"},
  146.     };
  147.  
  148.     var appController;
  149.  
  150.     function initialize() {
  151.       // We don't want to continue if this is triggered from Chrome prerendering,
  152.       // since it will register the user to GAE without cleaning it up, causing
  153.       // the real navigation to get a "full room" error. Instead we'll initialize
  154.       // once the visibility state changes to non-prerender.
  155.       if (document.visibilityState === 'prerender') {
  156.         document.addEventListener('visibilitychange', onVisibilityChange);
  157.         return;
  158.       }
  159.       appController = new AppController(loadingParams);
  160.     }
  161.  
  162.     function onVisibilityChange() {
  163.       if (document.visibilityState === 'prerender') {
  164.         return;
  165.       }
  166.       document.removeEventListener('visibilitychange', onVisibilityChange);
  167.       initialize();
  168.     }
  169.  
  170.     initialize();
  171.   </script>
  172.  
  173.   <script>
  174.     (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  175.       (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  176.       m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  177.     })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  178.  
  179.     ga('create', 'UA-48530561-2', 'auto');
  180.     ga('send', 'pageview');
  181.   </script>
  182.  
  183. </body>
  184. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement