Azure Ошибка воспроизведения медиаплеера (0x10600003) - PullRequest
0 голосов
/ 17 апреля 2020

Итак, некоторое время go, мы начали использовать Azure Media Player для воспроизведения видео на нашем сайте, и до недавнего времени он отлично работал.

Ссылки, которые раньше работали:

http://trueiqmediaservice.streaming.mediaservices.windows.net/1002f113-9ccc-49a9-8549-c4bebabb47ee/Why мы makin.ism / manifest

Вот метод определения регулярного выражения:

private function register_embed_handler()
{
    wp_embed_register_handler(
        'f',
        '#((http[s]?):\/)?(\/)(\/)?fhtrueiqmediaservice\.streaming\.mediaservices\.windows\.net\/?(.*)_(.*).ism\/manifest#',
        [$this, 'wp_embed_register_handler']
    );
}

Хорошо. Похоже, Azure обновлено, как они обрабатывают ссылки, поэтому оно было изменено на следующее:

https://mediasvcclqg331kwhpnq.blob.core.windows.net/asset-ab84ad2b-3ae4-4024-afd3-8f12cdecc266/2020-02-03 Crispin EDIT 2_1.mp4? Sv = 2017-04-17 & sr = с & си = 8b3d0ab4-5d65-470e-a26e-f7e65782f36a & сиг = UW1aCdpqR7g2GSUeCD5ASiEazkSMl7q4SwiDLhtfHdQ% 3D & й = 2020-04-16T19% 3A16% 3A07Z & SE = 2120-04 - ******

* *
1023 Как бы я go о том, как использовать это регулярное выражение в новой ссылке? Я ужасно разбираюсь в регулярных выражениях и понятия не имею, как вообще начать заниматься этим. Вся помощь будет признательна!

1 Ответ

0 голосов
/ 17 апреля 2020

Ваш предыдущий шаблон был вполне определенным c, а новая ссылка немного длиннее.

Например, вы можете использовать шаблон, задающий первую часть, указывающую c, и если .mp4 всегда должно быть присутствовать, не забудьте соответствовать этому.

Поскольку единственные возможные пробелы в примере ссылки находятся в имени файла .mp4, вы можете сопоставить остальную часть строки, используя \S* совпадение с 0+ вхождениями непробельного символа.

https?:\/\/[^.\s]+\.blob\.core\.windows\.net\/asset-[a-f0-9]+(?:-[a-f0-9]+)+\/.*?\.mp4\S*

Пояснение

  • https?:\/\/ Сопоставить протокол с необязательными s, затем ://
  • [^.\s]+ Соответствовать 1+ раз любому символу за исключением . или символа пробела (первая часть URL может выглядеть немного случайной. Если это не так, вы можете сопоставить ее буквально вместо этого)
  • \.blob\.core\.windows\.net\/asset- Match .blob.core.windows.net/asset-
  • [a-f0-9]+(?:-[a-f0-9]+)+ Соответствует шаблону, подобному направляющей, где дефисная часть повторяется 1 или более раз
  • \/.*?\.mp4 Соответствует /, за которым следуют как минимум возможные символы до .mp4 встречается
  • \S* Соответствует 0+ раз непробельному символу

Regex demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...