Как проигрывать несколько автономных видеороликов впоследствии с помощью MediaSource api? [Дубликат]

Самая короткая версия для преуменьшения существующего JSON: (изменить: с помощью JSON.net)

JToken.Parse("mystring").ToString()

Вход:

{"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ] } }}

Выход:

{
  "menu": {
    "id": "file",
    "value": "File",
    "popup": {
      "menuitem": [
        {
          "value": "New",
          "onclick": "CreateNewDoc()"
        },
        {
          "value": "Open",
          "onclick": "OpenDoc()"
        },
        {
          "value": "Close",
          "onclick": "CloseDoc()"
        }
      ]
    }
  }
}

Чтобы красиво напечатать объект:

JToken.FromObject(myObject).ToString()
6
задан Andy Hin 26 January 2016 в 19:15
поделиться

1 ответ

2) Почему мой MediaSource.duration всегда «Бесконечность», а не правильная продолжительность?

Вам нужно вызвать MediaSource.endOfStream() в порядок для объекта MediaSource для вычисления фактической продолжительности сегментов в SourceBuffer. Я вижу, что вы это делаете, но похоже, что вы пытаетесь получить доступ к MediaSource.duration перед вызовом endOfStream(). Я предлагаю вам прочитать в конец алгоритма потока в MSE Spec, вы заметите, что это приведет к вызову алгоритма изменения продолжительности .

Если вы хотите, чтобы ваш элемент <video> сообщал о продолжительности до вызова MediaSource.endOfStream(), вы можете фактически установить значение с помощью MediaSource.duration на основе вашей собственной оценки добавленных сегментов.

1) Почему это не делается должным образом при настройке последовательности MediaSource.mode?

Насколько мне известно, это следует сделать. Но я предпочел использовать явный подход timestampOffset, поскольку он обеспечивает большую гибкость при желании добавлять сегменты далеко впереди в буфере (т. Е. Если пользователь ищет путь впереди текущего конца буфера, вы захотите начать загрузку + добавление после пробела). Хотя я ценю, что ищу, чтобы я не был требованием в вашем прецеденте.

4
ответ дан Philip Bulley 22 August 2018 в 18:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: