OpenTok Ionic 3 - функция publisher.cycleVideo не найдена - PullRequest
0 голосов
/ 09 января 2019

Я использую плагин ionic opentok из этого репо, https://github.com/opentok/cordova-plugin-opentok Я, конечно, следил за https://github.com/opentok/opentok-cordova-samples проектами и создал приложение. Тем не менее, я борюсь с переключением камеры в продолжающейся видео-сессии. Мой код прост, кнопка на экране,

<div class="controls-btn-inner-icon" (click)="toggleCamera()">
    <ion-icon ios="md-camera" md="md-camera"></ion-icon>
</div>

и способ,

toggleCamera() {
    this.publisher.cycleVideo();
}

В консоли отладки выдается ошибка

TypeError: this.publisher.cycleVideo is not a function
        [[StableObjectId]]:3
        message:"this.publisher.cycleVideo is not a function"
        ngDebugContext:DebugContext_ {view: Object, nodeIndex: 106, nodeDef: Object, …}
        ngErrorLogger:function () { … }
        stack:"TypeError: this.publisher.cycleVideo is not a function\n    at 
    VideoSessionPage.webpackJsonp.92.VideoSessionPage.toggleCamera (http://localhost:8080/build/main.js:936:24)\n    at Object.eval [as handleEvent] (ng:///AppModule/VideoSessionPage.ngfactory.js:247:31)\n    at handleEvent (http://localhost:8080/build/vendor.js:14275:155)\n    at callWithDebugContext (http://localhost:8080/build/vendor.js:15784:42)\n    at Object.debugHandleEvent [as handleEvent] (http://localhost:8080/build/vendor.js:15371:12)\n    at dispatchEvent (http://localhost:8080/build/vendor.js:10690:25)\n    at http://localhost:8080/build/vendor.js:11315:38\n    at HTMLDivElement.<anonymous> (http://localhost:8080/build/vendor.js:40626:53)\n    at t.invokeTask (http://localhost:8080/build/polyfills.js:3:15660)\n    at Object.onInvokeTask (http://localhost:8080/build/vendor.js:5437:33)"
    __proto__:Error {constructor: , name: "TypeError", message: "", …}

`

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 09 января 2019

Евангелист разработчиков TokBox здесь.

Метод cycleVideo доступен только при использовании OpenTok JS SDK . Чтобы переключить камеру при использовании Cordova OpenTok Plugin , используйте следующий метод: publisher.setCameraPosition('front'); или publisher.setCameraPosition('back');

Используя плагин, вы также можете инициализировать объект Publisher с помощью либо front , либо back камеры, используя свойство cameraName как часть Аргумент свойств для метода initPublisher выглядит так:

const publisherProperties = {
  cameraName: 'front',
};
const publisher = OT.initPublisher(publisherProperties);
...