我正在尝试使用 Android上的Crosswalk运行AppRTC HTML5演示.但由于某种原因,我无法让麦克风工作. 我从GitHub获得了AppRTC HTML5演示源,并按照说明进行构建.完成后,我使用生成的Chrome应用输出并编
我从GitHub获得了AppRTC HTML5演示源,并按照说明进行构建.完成后,我使用生成的Chrome应用输出并编辑appwindow.html文件以包含cordova.js,并修复包含文件的路径.
最后,我使用Cordova和crosswalk插件构建(使用cordova构建命令).该应用程序工作并连接到服务器,视频工作得很好,从PC接收音频很好,但不发送来自移动设备的音频.我不确定有什么问题,请帮助修复音频.
下面是Cordova配置文件.
config.xml中
<?xml version='1.0' encoding='utf-8'?> <widget id="com.test.xapprtc" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> <name>xAppRtc</name> <description> AppRTC on crosswalk. </description> <author email="test@test.com" href="http://test.com"> Test </author> <content src="appwindow.html" /> <preference name="DisallowOverscroll" value="true" /> <preference name="Orientation" value="portrait" /> <preference name="EnableViewportScale" value="true" /> <preference name="StatusBarOverlaysWebView" value="false" /> <plugin name="cordova-plugin-whitelist" version="1" /> <access origin="*" /> <allow-intent href="http://*/*" /> <allow-intent href="https://*/*" /> <allow-intent href="tel:*" /> <allow-intent href="sms:*" /> <allow-intent href="mailto:*" /> <allow-intent href="geo:*" /> <platform name="android"> <allow-intent href="market:*" /> </platform> <platform name="ios"> <allow-intent href="itms:*" /> <allow-intent href="itms-apps:*" /> </platform> <feature name="Camera"> <param name="android-package" value="org.apache.cordova.CameraLauncher" /> </feature> <feature name="Capture"> <param name="android-package" value="org.apache.cordova.Capture" /> </feature> </widget>要访问手机资源,您必须在AndroidManifest.xml上声明它,
所以最终用户在安装应用程序时就知道了.
即使您没有将人行横道用作webview库,Cordova和Crosswalk插件也会构建一个应用程序,因此您必须在清单中请求权限.
指南与嵌入版本相同:
https://crosswalk-project.org/documentation/embedding_crosswalk.html
对于麦克风和摄像头,权限是:
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.RECORD_AUDIO" />
但似乎该插件也做了一些技巧,还需要一个:
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />