Жизненный цикл:

  1. Для запуска Совместного просмотра необходимо вызвать метод SDK.addMovie (*) Желательно передать IMovieMetaData в SDK.addMovie, в противном случае бекенд совместного просмотра попробует получить ее сам, но результат не всегда будет предсказуемым.

  2. После успешного выполнения SDK.addMovie каждый из участников звонка должен получить объект ISharedMovieInfo и на его основе отправить SDK.updateDisplayLayout для получения MediaStream.

    • Для подписки на событые добавления ролика используйте колбеки:
      • onRemoteSharedMovieInfo
      • onLocalSharedMovieInfo (для инициатора СП).
  3. После успешной отправки SDK.updateDisplayLayout каждому из участников звонка необходимо получить MediaStream по добавленному ролику в колбеках:

    • onRemoteLive
    • onLocalLive (Для инициатора СП)
  4. В процессе проигрывания ролика о изменении его состояния (ISharedMovieState) можно узнать в колбеках

    • onRemoteLiveUpdate
    • onLocalLiveUpdate (Для инициатора СП)
  5. Для управления состоянием ролика (громкость, перемотка и т.д) используется метод SDK.updateMovie

  6. Для удаления ролика из звонка используется метод SDK.removeMovie

  7. После успешного выполнения SDK.removeMovie каждый из участников звонка должен получить объект ISharedMovieStoppedInfo и на его основе отправить SDK.updateDisplayLayout с параметром stopStream: true.

    • Для подписки на событые удаления ролика используйте колбеки:
      • onRemoteSharedMovieStoppedInfo
      • onLocalSharedMovieStoppedInfo (для инициатора СП).