如何使Twilio Video API Javascript SDK + Phonegap Build工作?

时间:2016-10-21 09:27:31

标签: cordova twilio phonegap-build crosswalk twilio-api

我能够集成Twilio Video API并且音频呼叫正在作为Web应用程序运行。但是,当我尝试通过Phonegap Build为移动设备构建它时,音频呼叫无法按预期工作。通过Chrome Dev Tools USB调试方法报告没有错误。

作品

  • Web to Web调用Web to mobile app(我可以从任何一端清楚地听到呼叫)

无效

  • 移动到网络(完全没有声音,我只能听到通过网络呼叫的声音)
  • 移动设备到移动设备(什么都没有)

首先,Twilio Video API无法在Phonegap应用中运行,并在undefined上返回twilio-conversations.min.js。我能够通过添加Crosswalk <plugin name="cordova-plugin-crosswalk-webview" spec="~2.1.0" source="npm" />来解决这个问题,因为我怀疑它与webrtc有关。添加此插件后,Twilio现在可以创建对话并连接两个参与者。

我无法弄清楚下一步该做什么。我尝试添加cordova-plugin-media-capture来捕获声音并激活“录制音频权限”,但仍然没有运气。

也许我错过了什么。任何建议都非常感谢。 :)

这是我的Phonegap config.xml

<?xml version="1.0" encoding="UTF-8" ?>

<widget xmlns   = "http://www.w3.org/ns/widgets"
    xmlns:gap   = "http://phonegap.com/ns/1.0"
    id          = "com.app.experiment"
    versionCode = "1"
    version     = "1.0.0">

    <name>Twilio Phonegap Experiment</name>

    <description>
            Twilio Phonegap Testing
    </description>
    <author href="https://domainhere.com" email="woppi@domainhere.com">
             woppi
    </author>

    <platform name="android"/>
    <preference name="phonegap-version" value="cli-6.3.0" />
    <preference name="orientation" value="portrait" />
    <preference name="fullscreen" value="false" />

    <preference name="webviewbounce" value="false" />
    <preference name="DisallowOverscroll" value="true" />
    <preference name="disallowOverscroll" value="true" />

    <preference name="android-minSdkVersion" value="21" />
    <preference name="android-installLocation" value="auto" />

    <platform name="android">
        <icon src="res/icon/android/drawable-ldpi-icon" qualifier="ldpi"/>
        <icon src="res/icon/android/drawable-mdpi-icon" qualifier="mdpi"/>
        <icon src="res/icon/android/drawable-hdpi-icon" qualifier="hdpi"/>
        <icon src="res/icon/android/drawable-xhdpi-icon" qualifier="xhdpi"/>
        <icon src="res/icon/android/drawable-xxhdpi-icon" qualifier="xxhdpi"/>
        <icon src="res/icon/android/drawable-xxxhdpi-icon" qualifier="xxxhdpi"/>
    </platform>

      <platform name="android">
        <splash src="res/screen/android/drawable-port-ldpi-screen" qualifier="ldpi"/>
        <splash src="res/screen/android/drawable-port-mdpi-screen" qualifier="mdpi"/>
        <splash src="res/screen/android/drawable-port-hdpi-screen" qualifier="hdpi"/>
        <splash src="res/screen/android/drawable-port-xhdpi-screen" qualifier="xhdpi"/>
        <splash src="res/screen/android/drawable-port-xxhdpi-screen" qualifier="xxhdpi"/>
        <splash src="res/screen/android/drawable-port-xxxhdpi-screen" qualifier="xxxhdpi"/>
      </platform>

      <preference name="permissions" value="none"/>

      <plugin name="cordova-plugin-camera" spec="~2.1.1" source="npm"/>
      <plugin name="cordova-plugin-device" spec="~1.1.1" source="npm"/>
      <plugin name="cordova-plugin-dialogs" spec="~1.2.0" source="npm"/>
      <plugin name="cordova-plugin-geolocation" spec="~2.1.0" source="npm"/>
      <plugin name="cordova-plugin-inappbrowser" spec="~1.3.0" source="npm"/>
      <plugin name="cordova-plugin-network-information" spec="1.2.0" source="npm"/>
      <plugin name="cordova-plugin-splashscreen" spec="~3.2.1" source="npm"/>
      <plugin name="cordova-plugin-statusbar" spec="~2.1.2" source="npm"/>
      <plugin name="cordova-plugin-whitelist" spec="~1.2.1" source="npm"/>
      <plugin name="cordova-plugin-crosswalk-webview" spec="~2.1.0" source="npm" />
      <plugin name="cordova-plugin-media-capture" spec="~1.4.0" source="npm" />

      <access origin="*" subdomains="true"/>
      <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>
</widget>

1 个答案:

答案 0 :(得分:0)

我相信你需要为视频SDK构建一个Phonegap插件才能实现这一目标。 GitHub上有一个Twilio Client SDK项目。我已成功使用this插件使用Twilio Client for Android和IOS开发Cordova应用。也许你自己可以开发一个插件。

希望这有帮助!