4

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

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

最后,我使用带有人行横道插件的 Cordova 构建(使用cordova build命令)。该应用程序可以正常工作并连接到服务器,视频效果很好,从 PC 接收音频很好,但不会发送来自移动设备的音频。我不确定是什么问题,请帮助修复音频。

下面是 Cordova 配置文件。

配置文件

<?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>
4

2 回答 2

5

您是否尝试过手动向 AndroidManifest.xml 添加所需的权限?从麦克风获取音频的权限是:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
于 2015-06-29T11:37:50.103 回答
5

要访问手机资源,您必须在 AndroidManifest.xml 中声明它,以便最终用户在安装应用程序时知道它。

Cordova 和 Crosswalk 插件构建了一个应用程序,即使你没有使用 crosswalk 作为 webview 库,所以你必须在清单中请求权限。

指南与嵌入版本相同: 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" />
于 2015-06-29T16:02:50.783 回答