AppRTC android 人行横道

AppRTC android crosswalk

我正在尝试 运行 AppRTC HTML5 与 Android 上的 Crosswalk 演示。但出于某种原因,我无法让麦克风工作。

我从 GitHub 获得了 AppRTC HTML5 演示源,并按照说明进行构建。完成后,我使用生成的 Chrome 应用程序输出并编辑 appwindow.html 文件以包含 cordova.js,并修复包含文件的路径。

最后,我使用带有人行横道插件的 Cordova 进行构建(使用 cordova build 命令)。该应用程序可以正常运行并连接到服务器,视频效果很好,从 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 添加所需的权限? 从麦克风获取音频的权限是:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

要访问 phone 资源,您必须在 AndroidManifest.xml 上声明它, 所以最终用户在安装应用程序时就知道了。

Cordova 和 Crosswalk 插件构建应用程序,即使您没有将 crosswalk 用作 webview 库,因此您必须在清单中请求许可。

指南与嵌入版本相同: https://crosswalk-project.org/documentation/embedding_crosswalk.html

对于微型phone 和相机,权限为:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />

不过这个插件好像也有一些技巧,还需要一个:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />