2016-10-21 6 views
0

Я смог интегрировать Twilio Video API, а аудиозапись работает как веб-приложение. Однако, когда я пытаюсь построить его для мобильных устройств через Phonegap Build, звуковой вызов работает не так, как ожидалось. Сообщения об ошибках, обнаруженные с помощью метода отладки Chrome Dev Tools USB, не поступали.Как сделать Twilio Video API Javascript SDK + Phonegap Build работать?

Работы:

  • Web для веб-вызывающему Web для мобильных приложений (я могу услышать призыв Отчетливо, с обоих концов)

Не работает:

  • Мобильный для Интернета (звук вообще не слышен, я слышу только голос одного вызова через интернет)
  • Mobile для мобильных устройств (Ничего вообще)

Сначала 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="[email protected]"> 
      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> 
+0

Вы когда-нибудь могли это решить? –

+0

@ Alexandr Pritchard No. Пробовал много сочетаний с разрешением звука и не мог придумать, что еще делать. Я также отправил по электронной почте [email protected] недели назад, но до сих пор не ответил. К сожалению, придется отказаться от всего, что я совершил за телефонную развязку, и решил пойти по-родному, изучить развитие Android/java, а затем использовать их Android SDK. Я только начинаю. О, парень! – Woppi

+0

Прошу прощения за это. В настоящее время я работаю над проектом уровня производства с фиксированным бюджетом. Это позор, так как это может повлиять на то, можем ли мы освободить эту функцию для клиента, не затрачивая расходы на себя. –

ответ

0

Я считаю, что вам нужно будет построить плагин PhoneGap для видео SDK для достижения этой цели. Существует проект GitHub для SDK Twilio Client. Я успешно использовал плагин this, чтобы разработать приложение Cordova, используя Twilio Client для Android и IOS. Возможно, вы могли бы разработать плагин самостоятельно.

Надеюсь, это поможет!

+0

Я пошел на Android SDK-маршрут для мобильного приложения. – Woppi