【发布时间】:2014-05-30 07:26:09
【问题描述】:
我从 Android 到桌面的 ApprtcDemo 无法正常工作,我已经关注了所有 StackOVerflow 链接和 Google 讨论链接,但它们都没有使它工作,每个人都声称本地设置对他们有用,但做同样的建议没有用。
所以请在这里你可以找到完整的源代码其他人是如何做的,我也是这样做的,但当 Android 设备应用程序启动时,我仍然只能看到 selfview 并且它连接到 Google Apps Engine,但它永远不会连接到房间以获取音频/视频会议。
您能否提出建议和建议,以便我们可以在这里就这个问题共同做出可靠的回答?我花了 3 个月的时间,我还不能让它工作。
第 1 步:转到 https://code.google.com/p/test-apprtc-demo/source/browse/
第 2 步:文件夹 apprtc = javascript、python、webrtc、google 应用引擎 完整的代码文件夹android包含所有android的源代码 应用程序演示
第 3 步:请检查我修改过的文件
一) 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
这里我用硬编码的 turnserver 详细信息更改了 pcConfig 变量
这里我修改了 private PeerConnection.IceServer requestTurnServer(String url) private LinkedList iceServersFromPCConfigJSON( 字符串 pcConfig)
这里我已经修改了 roomInput.setText("http://notappspot.com.placeit.toyour.localhost/?r=");
这里我什么都没修改 webView.loadUrl("file:///android_asset/channel.html"); //
第 4 步:现在 Apprtcdemo 已构建/发布并在我的 Android 中运行 电话,同时我在我的 WebRTC 服务器中连接 谷歌浏览器最新版本
第 5 步:当 Android 和 Google Chrome 尝试连接时,没有任何反应 谷歌浏览器显示“等待某人加入....”
在 Android 上,我有一个绿屏和我自己的相机视图 右上角。
请有人建议。这样我就可以建立这个互连,我在这方面失去了 3 个月的时间。
编辑:
第 1 步:启动本地服务器发送信号,让 Mobile 和 Google Chrome 握手:
$ 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 谷歌浏览器以连接服务器
>>
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
当时谷歌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 应用程序
>>
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
第 4 步:没有任何反应
现在什么都没有发生......请看移动和桌面屏幕截图,两者都没有做任何事情,就像它在等待什么......
【问题讨论】:
-
如果您首先验证这是否适用于 2 个浏览器和 2 个手机,该怎么办?如果你在所有正在执行的函数中添加一些日志记录(这样你就可以准确地看到出了什么问题,因为我希望代码没有做某事,但我不知道哪一部分)。
-
例如,当查看浏览器端 javascript code 时,我看到它记录了一大堆内容。如果你可以在这里复制粘贴会更容易。
-
不,我想要它生成的浏览器端日志。这样我们就可以看到在会话的建立过程中是否有什么遗漏。如果您也有可能派上用场的服务器日志,因为我认为这与缺少一些信息/没有足够的 ICE 候选人有关。
-
而且您的信息 div 似乎显示了一些东西。成功建立连接和未建立连接时显示的内容有区别吗?
-
啊哈,看来电话应用程序没有做任何事情。如果您可以比较工作连接的日志(pc pc),您可能会找出遗漏的内容。尤其是
"POST /_ah/channel/connected/ HTTP/1.1" 200的内容,因为我没有看到电话连接时出现那条线(所以它基本上错过了那里的东西)
标签: java javascript android google-app-engine webrtc