我有从安卓到桌面不工作的ApprtcDemo,我已经跟踪了所有的StackOVerflow链接和谷歌讨论链接--它们都没有让它工作,每个人都声称本地设置对他们有效,但是做同样的建议没有效果。
所以,请在这里你可以找到完全的源代码,就像其他人和我一样,但当Android设备应用程序启动时,我只能看到自我查看,它连接到Google应用程序引擎,但它从来没有连接到房间进行音频/视频会话。
请您提出建议和建议,以便我们能在此就这一问题作出可靠的答复吗?这花了我三个月的时间,我还没能把它做好。
步骤1:转到https://code.google.com/p/test-apprtc-demo/source/browse/ 步骤2:文件夹apprtc = javascript、python、webrtc、google应用程序引擎完整代码文件夹android包含所有apprtcdemo源代码 第三步:请检查我修改过的文件。 ( a) https://code.google.com/p/test-apprtc-demo/source/browse/android/assets/channel.html 在这里,我嵌入了javascript,其他人对此感到困惑,https://code.google.com/p/test-apprtc-demo/source/browse/apprtc/index.html 在这里,我用硬编码的旋转服务器详细信息( b) pcConfig )更改了https://code.google.com/p/test-apprtc-demo/source/browse/android/src/org/appspot/apprtc/AppRTCClient.java变量 这里我修改了私有PeerConnection.IceServer requestTurnServer(String url)私有LinkedList iceServersFromPCConfigJSON( String pcConfig) c) https://code.google.com/p/test-apprtc-demo/source/browse/android/src/org/appspot/apprtc/AppRTCDemoActivity.java 这里我修改了roomInput.setText("http://notappspot.com.placeit.toyour.localhost/?r=");d) https://code.google.com/p/test-apprtc-demo/source/browse/android/src/org/appspot/apprtc/GAEChannelClient.java 这里我没有修改任何webView.loadUrl("file:///android_asset/channel.html");//<<不需要修改,因为我们有带有javascript嵌入式的channel.html文件,检查该文件的步骤4:现在WebRTC演示在我的安卓手机上构建/发布并运行,同时我在我的WebRTC服务器上连接到Google的最新版本。 第五步:当Android和Google Chrome试图连接时,任何事情都不会发生,Google chrome节目“等待某人加入.” 在Android上,我在右上角有一个绿色屏幕和我自己的相机视图。
请有人指点。这样我就可以把这个连接起来,我在这上面损失了3个月。
编辑:
第一步:启动本地服务器发送信号,允许Mobile和Google握手:
$ python dev_appserver.py --host 0.0.0.0 --port 9999 /var/tmp/webrtc-read-only/samples/js/apprtc
WARNING 2014-05-30 08:07:49,416 api_server.py:378] Could not initialize images API; you are likely missing the Python "PIL" module.
WARNING 2014-05-30 08:07:49,420 simple_search_stub.py:1072] Could not read search indexes from /var/folders/h3/jgrrj7fd35vf0v77xjbhryph0000gn/T/appengine.apprtc.sun/search_indexes
INFO 2014-05-30 08:07:49,424 api_server.py:171] Starting API server at: http://localhost:52919
INFO 2014-05-30 08:07:49,427 dispatcher.py:182] Starting module "default" running at: http://0.0.0.0:9999
INFO 2014-05-30 08:07:49,434 admin_server.py:117] Starting admin server at: http://localhost:8000步骤2:启动PC Google连接服务器
<<<<========= PC谷歌Chrome浏览器连接并等待有人加入====>>>
INFO 2014-05-30 08:09:34,059 apprtc.py:147] Applying media constraints: {'video': True, 'audio': True}
INFO 2014-05-30 08:09:34,070 apprtc.py:473] User 24910306 added to room 12344
INFO 2014-05-30 08:09:34,070 apprtc.py:474] Room 12344 has state [24910306-False]
INFO 2014-05-30 08:09:34,075 module.py:639] default: "GET /?r=12344 HTTP/1.1" 200 1646
INFO 2014-05-30 08:09:34,123 module.py:639] default: "GET /js/adapter.js HTTP/1.1" 304 -
INFO 2014-05-30 08:09:34,123 module.py:639] default: "GET /css/main.css HTTP/1.1" 304 -
INFO 2014-05-30 08:09:34,124 module.py:639] default: "GET /js/main.js HTTP/1.1" 304 -
INFO 2014-05-30 08:09:34,289 apprtc.py:268] User 24910306 connected to room 12344
INFO 2014-05-30 08:09:34,290 apprtc.py:269] Room 12344 has state [24910306-True]
INFO 2014-05-30 08:09:34,366 module.py:639] default: "POST /_ah/channel/connected/ HTTP/1.1" 200 -
INFO 2014-05-30 08:09:34,379 module.py:639] default: "GET /favicon.ico HTTP/1.1" 404 154当时Google chrome浏览器日志:
This appears to be Chrome
Initializing; room=12344.
Opening channel.
Requested access to local media with mediaConstraints:
'{"video":true,"audio":true}'
Channel opened.
User has granted access to local media.步骤3:打开Android应用程序
<<<<========现在打开安卓手机AppRTCDEmo以连接Google,但是======>>>没有发生更多的事情。
INFO 2014-05-30 08:11:54,693 apprtc.py:147] Applying media constraints: {'video': True, 'audio': True}
INFO 2014-05-30 08:11:54,693 apprtc.py:473] User 28334488 added to room 12344
INFO 2014-05-30 08:11:54,693 apprtc.py:474] Room 12344 has state [24910306-True, 28334488-False]
INFO 2014-05-30 08:11:54,698 module.py:639] default: "GET /?r=12344 HTTP/1.1" 200 1652第四步:什么都不会发生
现在什么都没发生.请看手机和桌面屏幕的截图,两者都不像它在等待什么.


发布于 2014-06-02 15:53:14
经过了大量的讨论、尝试、错误和日志记录之后,我们找到了这些解决问题的方法:
'file://'+'/_ah/channel/jsapi'上向服务器发送消息,而不是'http://server_adress:port'+'/_ah/channel/jsapi')appRTCSignalingParameters.gaeBaseHref在末尾包含了一个斜线,但是appRTCSignalingParameters.postMessageUrl在一开始就这样做了,所以程序试图发布到server_adress:port//message,这是不正确的。只需从appRTCSignalingParameters.postMessageUrl中删除/删除它,就可以解决这个问题。旧答案:
谢谢你的伐木。现在我们知道出了什么问题。if不会触发,因为signalingReady == 0。之所以是零,是因为我在第49行中发现了一些东西:
// Caller is always ready to create peerConnection.
signalingReady = initiator;我不知道这是怎么回事,它是干什么用的。
另外,在onChannelMessage函数中的第311行中实现这一点的唯一方法。该函数中没有日志,console.trace也没有显示来自onChannelMessage的任何内容,因为它应该在第312行上调用maybeStart()。因此,暂时避免这种情况是行不通的,因为没有信号。
所以我认为解决方案的方法是将发起者设置为1。例如,您可以在创建一个新房间的函数中这样做,这样脚本就可以直接知道您是发起者,而不是加入任何人。
我希望这解决了你的问题,并请随时向我介绍进一步的结果和问题。
(因为这是一个来自网站的演示,我还建议您尝试了解如何建立RTC连接,并从头开始编写所有内容。这将使您的知识更好,调试也更容易,因为您了解的是您自己的代码)。
https://stackoverflow.com/questions/23949237
复制相似问题