4

我创建了一个离子 webrtc 应用程序,它在使用时运行完美ionic serve(在网络浏览器上,女巫是正常的)。但由于该getUserMedia功能无法执行,因此根本无法在设备上运行。

我找到的解决方案是安装人行横道,更新权限并在内容安全性AndroidManifest.xml上添加元标记:index.html<meta http-equiv="Content-Security-Policy: media-src: 'self' mediastream">

现在,我有一个工作的离子 webrtc 应用程序,但只有视频,音频不工作。android 应用程序能够播放带有音频的视频,但似乎只发送没有音频的视频!

我的设置 :

文件权限AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />

命令的输出ionic info

Your system information:

Cordova CLI: 5.4.1
Gulp version:  CLI version 3.9.0
Gulp local:
Ionic Version: 1.2.4
Ionic CLI Version: 1.7.13
Ionic App Lib Version: 0.6.5
OS: Windows 8.1
Node Version: v0.12.2

命令的输出ionic browser list

iOS - Browsers Listing:

Not Available Yet - WKWebView
Not Available Yet - UIWebView


Android - Browsers Listing:


Available - Crosswalk - ionic browser add crosswalk
         Version 8.37.189.14 Published
         Version 9.38.208.10 Published
         Version 10.39.235.15 Published
         Version 11.40.277.7 Published
         Version 12.41.296.5 Published
(beta)   Version 13.42.319.6 Published
(canary) Version 14.42.334.0 Published

Available - Crosswalk-lite - ionic browser add crosswalk-lite
(canary) Version 10.39.234.1 Published
(canary) Version 10.39.236.1 Published

Available - Browser (default) - ionic browser revert android
Not Available Yet - GeckoView

文件内容ionic.project

{
  "name": "WebRtc app",
  "app_id": "",
  "browsers": [
    {
      "platform": "android",
      "browser": "crosswalk",
      "version": "16.45.421.19"
    }
  ]
}

我不明白的是,在README.md人行横道插件文件夹中的文件中,我可以阅读以下内容:

    ### Benefits

* WebView doesn't change depending on Android version
* Capabilities: such as WebRTC, WebAudio, Web Components
* Performance improvements (compared to older system webviews)

那么,人行横道怎么会声称 webrtc 和 webaudio 正在工作,但只有视频在我的应用程序上工作,而不是音频?

由于缺乏其他设备,该应用程序仅在两部 armv7 android 智能手机上进行了测试,我不能说在 x86 中会发生什么。

感谢您的回答,因为我真的需要知道我的方向是否正确,或者只是回退到本机代码。

4

1 回答 1

2

找到了。它与人行横道无关,这是一个许可问题。只需将以下行添加到权限列表中,视频和音频都可以正常工作。

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
于 2016-02-11T17:45:07.130 回答