瀏覽代碼

move GUM to body.onload

master
Philipp Hancke 11 年之前
父節點
當前提交
c6f7e192d0
共有 1 個檔案被更改,包括 24 行新增27 行删除
  1. 24
    27
      app.js

+ 24
- 27
app.js 查看文件

69
         return;
69
         return;
70
     }
70
     }
71
 
71
 
72
+    obtainAudioAndVideoPermissions(function (stream) {
73
+        var audioStream = new webkitMediaStream(stream);
74
+        var videoStream = new webkitMediaStream(stream);
75
+        var videoTracks = stream.getVideoTracks();
76
+        var audioTracks = stream.getAudioTracks();
77
+        for (var i = 0; i < videoTracks.length; i++) {
78
+            audioStream.removeTrack(videoTracks[i]);
79
+        }
80
+        VideoLayout.changeLocalAudio(audioStream);
81
+        startLocalRtpStatsCollector(audioStream);
82
+
83
+        for (i = 0; i < audioTracks.length; i++) {
84
+            videoStream.removeTrack(audioTracks[i]);
85
+        }
86
+        VideoLayout.changeLocalVideo(videoStream, true);
87
+        maybeDoJoin();
88
+    });
89
+
72
     var jid = document.getElementById('jid').value || config.hosts.anonymousdomain || config.hosts.domain || window.location.hostname;
90
     var jid = document.getElementById('jid').value || config.hosts.anonymousdomain || config.hosts.domain || window.location.hostname;
73
     connect(jid);
91
     connect(jid);
74
 }
92
 }
100
             if (config.useStunTurn) {
118
             if (config.useStunTurn) {
101
                 connection.jingle.getStunAndTurnCredentials();
119
                 connection.jingle.getStunAndTurnCredentials();
102
             }
120
             }
103
-            obtainAudioAndVideoPermissions(function (stream) {
104
-                audioStream = new webkitMediaStream(stream);
105
-                videoStream = new webkitMediaStream(stream);
106
-                var videoTracks = stream.getVideoTracks();
107
-                var audioTracks = stream.getAudioTracks();
108
-                for (var i = 0; i < videoTracks.length; i++) {
109
-                    audioStream.removeTrack(videoTracks[i]);
110
-                }
111
-                audioStreamReady(audioStream);
112
-                VideoLayout.changeLocalAudio(audioStream);
113
-                startLocalRtpStatsCollector(audioStream);
114
-
115
-                for (i = 0; i < audioTracks.length; i++) {
116
-                    videoStream.removeTrack(audioTracks[i]);
117
-                }
118
-                VideoLayout.changeLocalVideo(videoStream, true);
119
-                doJoin();
120
-            });
121
-
122
             document.getElementById('connect').disabled = true;
121
             document.getElementById('connect').disabled = true;
123
 
122
 
124
             if(password)
123
             if(password)
125
                 authenticatedUser = true;
124
                 authenticatedUser = true;
125
+            maybeDoJoin();
126
         } else if (status === Strophe.Status.CONNFAIL) {
126
         } else if (status === Strophe.Status.CONNFAIL) {
127
             if(msg === 'x-strophe-bad-non-anon-jid') {
127
             if(msg === 'x-strophe-bad-non-anon-jid') {
128
                 anonymousConnectionFailed = true;
128
                 anonymousConnectionFailed = true;
165
         });
165
         });
166
 }
166
 }
167
 
167
 
168
-function audioStreamReady(stream) {
169
-
170
-
168
+function maybeDoJoin() {
169
+    if (connection && connection.connected && Strophe.getResourceFromJid(connection.jid) // .connected is true while connecting?
170
+        && (connection.jingle.localAudio || connection.jingle.localVideo)) {
171
+        doJoin();
172
+    }
171
 }
173
 }
172
 
174
 
173
-function videoStreamFailed(error) {
174
-    console.warn("Failed to obtain video stream - continue anyway", error);
175
-
176
-    doJoin();
177
-}
178
 
175
 
179
 function doJoin() {
176
 function doJoin() {
180
     var roomnode = null;
177
     var roomnode = null;

Loading…
取消
儲存