Pełna konfiguracja usługi Azure Media Player
Usługa Azure Media Player jest łatwa do skonfigurowania. Pobranie podstawowego odtwarzania zawartości multimedialnej bezpośrednio z konta usługi Azure Media Services zajmuje kilka chwil. Przykłady są również dostępne w katalogu przykładów wydania.
Krok 1. Dołączanie plików JavaScript i CSS do nagłówka strony
Za pomocą usługi Azure Media Player możesz uzyskać dostęp do skryptów z hostowanej wersji usługi CDN. Często zaleca się teraz umieszczenie kodu JavaScript przed tagiem treści końcowej <body>
zamiast <head>
, ale usługa Azure Media Player zawiera element "HTML5 Shiv", który musi znajdować się w głowie dla starszych wersji programu IE, aby szanować tag wideo jako prawidłowy element.
Nuta
Jeśli już używasz shiv HTML5, takich jak Modernizr możesz dołączyć język JavaScript usługi Azure Media Player w dowolnym miejscu. Upewnij się jednak, że twoja wersja modernizatora zawiera shiv for video.
Wersja usługi CDN
<link href="//amp.azure.net/libs/amp/latest/skins/amp-default/azuremediaplayer.min.css" rel="stylesheet">
<script src= "//amp.azure.net/libs/amp/latest/azuremediaplayer.min.js"></script>
Ważny
Nie należy używać wersji latest
w środowisku produkcyjnym, ponieważ może to ulec zmianie na żądanie. Zastąp latest
wersją usługi Azure Media Player. Na przykład zastąp latest
2.1.1
. Wersje usługi Azure Media Player można wykonywać w tutaj.
Nuta
Ponieważ wersja 1.2.0
nie jest już wymagana do uwzględnienia lokalizacji w technologiach rezerwowych (automatycznie pobierze lokalizację ze ścieżki względnej pliku azuremediaplayer.min.js). Lokalizację technologii rezerwowych można zmodyfikować, dodając następujący skrypt w <head>
po powyższych skryptach.
Nuta
Ze względu na charakter wtyczek Flash i Silverlight pliki i xap powinny być hostowane w domenie bez żadnych poufnych informacji lub danych — jest to automatycznie dbane o Ciebie z hostowaną wersją usługi Azure CDN.
<script>
amp.options.flashSS.swf = "//amp.azure.net/libs/amp/latest/techs/StrobeMediaPlayback.2.0.swf"
amp.options.silverlightSS.xap = "//amp.azure.net/libs/amp/latest/techs/SmoothStreamingPlayer.xap"
</script>
Krok 2. Dodawanie tagu wideo HTML5 do strony
Za pomocą usługi Azure Media Player możesz użyć tagu wideo HTML5, aby osadzić film wideo. Usługa Azure Media Player odczytuje tag i sprawi, że będzie działać we wszystkich przeglądarkach, a nie tylko w tych, które obsługują wideo HTML5. Poza podstawowym znacznikiem usługa Azure Media Player potrzebuje kilku dodatkowych elementów.
- Atrybut
<data-setup>
na<video>
nakazuje usłudze Azure Media Player automatyczne skonfigurowanie wideo, gdy strona jest gotowa, i odczytaj dowolne (w formacie JSON) z atrybutu. - Atrybut
id
: powinien być używany i unikatowy dla każdego filmu wideo na tej samej stronie. - Atrybut
class
zawiera dwie klasy:-
azuremediaplayer
stosuje style wymagane dla funkcji interfejsu użytkownika usługi Azure Media Player -
amp-default-skin
stosuje domyślną skórę do kontrolek HTML5
-
-
<source>
zawiera dwa wymagane atrybuty-
src
atrybut może zawierać *.ism/manifest pliku z usługi Azure Media Services, usługa Azure Media Player automatycznie dodaje adresy URL interfejsu DASH, SMOOTH i HLS do odtwarzacza -
type
atrybut jest wymaganym typem MIME strumienia. Typ MIME skojarzony z ".ism/manifest" to "application/vnd.ms-sstr+xml"
-
- Opcjonalny atrybut
<data-setup>
w<source>
informuje usługę Azure Media Player, czy istnieją jakiekolwiek unikatowe zasady dostarczania strumienia z usługi Azure Media Services, w tym typ szyfrowania (AES lub PlayReady, Widevine lub FairPlay) i token.
Dołączanie/wykluczanie atrybutów, ustawień, źródeł i ścieżek dokładnie tak, jak w przypadku wideo HTML5.
<video id="vid1" class="azuremediaplayer amp-default-skin" autoplay controls width="640" height="400" poster="poster.jpg" data-setup='{"techOrder": ["azureHtml5JS", "flashSS", "html5FairPlayHLS","silverlightSS", "html5"], "nativeControlsForTouch": false}'>
<source src="http://amssamples.streaming.mediaservices.windows.net/91492735-c523-432b-ba01-faba6c2206a2/AzureMediaServicesPromo.ism/manifest" type="application/vnd.ms-sstr+xml" />
<p class="amp-no-js">
To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video
</p>
</video>
Domyślnie duży przycisk odtwarzania znajduje się w lewym górnym rogu, więc nie zakrywa interesujących części plakatu. Jeśli wolisz wyśrodkować duży przycisk odtwarzania, możesz dodać dodatkowy amp-big-play-centered
class
do elementu <video>
.
Alternatywna konfiguracja dynamicznego ładowania kodu HTML
Jeśli strona internetowa lub aplikacja ładuje tag wideo dynamicznie (ajax, appendChild itp.), aby nie istniał, gdy strona zostanie załadowana, należy ręcznie skonfigurować odtwarzacz zamiast polegać na atrybucie data-setup. Aby to zrobić, najpierw usuń atrybut konfiguracji danych z tagu, aby nie było żadnych pomyłek w przypadku zainicjowania odtwarzacza. Następnie uruchom następujący kod JavaScript jakiś czas po załadowaniu kodu JavaScript usługi Azure Media Player i załadowaniu tagu wideo do modelu DOM.
var myPlayer = amp('vid1', { /* Options */
techOrder: ["azureHtml5JS", "flashSS", "html5FairPlayHLS","silverlightSS", "html5"],
"nativeControlsForTouch": false,
autoplay: false,
controls: true,
width: "640",
height: "400",
poster: ""
}, function() {
console.log('Good to go!');
// add an event listener
this.addEventListener('ended', function() {
console.log('Finished!');
});
}
);
myPlayer.src([{
src: "http://samplescdn.origin.mediaservices.windows.net/e0e820ec-f6a2-4ea2-afe3-1eed4e06ab2c/AzureMediaServices_Overview.ism/manifest",
type: "application/vnd.ms-sstr+xml"
}]);
Pierwszym argumentem funkcji amp
jest identyfikator tagu wideo. Zastąp go własnym.
Drugi argument jest obiektem opcji. Umożliwia ustawienie dodatkowych opcji, takich jak atrybut konfiguracji danych.
Trzeci argument to wywołanie zwrotne "gotowe". Po zainicjowaniu usługi Azure Media Player wywoła tę funkcję. W gotowym wywołaniu zwrotnym obiekt "this" odwołuje się do wystąpienia odtwarzacza.
Zamiast używać identyfikatora elementu, można również przekazać odwołanie do samego elementu.
amp(document.getElementById('example_video_1'), {/*Options*/}, function() {
//This is functionally the same as the previous example.
});
myPlayer.src([{ src: "//example/path/to/myVideo.ism/manifest", type: "application/vnd.ms-sstr+xml"]);