Google AMP - Phương tiện

Trong chương này, chúng ta sẽ thảo luận về cách hiển thị video và âm thanh từ các đối tác bên thứ ba như jwplayer và Youtube. Hãy cùng chúng tôi tìm hiểu chi tiết những điều sau:

  • Google AMP - JwPlayer

  • Google AMP - YouTube

  • Google AMP - Âm thanh

Google AMP - JwPlayer

Nếu bạn muốn sử dụng jwplayer để hiển thị video trên trang, amp có amp-jwplayer để làm điều đó.

Để làm việc với amp-jwplayer, hãy đưa đoạn mã sau vào trang của bạn:

<script async custom-element = "amp-jwplayer" src = "
   https://cdn.ampproject.org/v0/amp-jwplayer-0.1.js">
</script>

Thẻ amp-jwplayer

<amp-jwplayer 
   data-playlist-id = "482jsTAr" 
   data-player-id = "uoIbMPm3" 
   layout = "responsive"
   width = "16" 
   height = "9">
</amp-jwplayer>

Dưới đây là một ví dụ hoạt động của jwplayer trong trang amp:

Thí dụ

<!doctype html>
<html amp lang = "en">
   <head>
      <meta charset = "utf-8">
      <script async src = "https://cdn.ampproject.org/v0.js">
      </script>
      <title>Google AMP - Amp Jwplayer</title>
      <link rel = "canonical" href =
      "http://example.ampproject.org/article-metadata.html">
      <meta name = "viewport" content = "width = device-width,
      minimum-scale = 1,initial-scale = 1">
      
      <style amp-boilerplate>
         body{
            -webkit-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;animation:
            -amp-start 8s steps(1,end) 0s 1 normal both
         }
         @-webkit-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}
      </style>
      <noscript>
         <style amp-boilerplate>
            body{
               -webkit-animation:none;
               -moz-animation:none;
               -ms-animation:none;
               animation:none}
         </style>
      </noscript>
      <script async custom-element = "amp-jwplayer" src =
         "https://cdn.ampproject.org/v0/amp-jwplayer-0.1.js">
      </script>
   </head>
   <body>
      <h3>Google AMP - Amp Jwplayer</h3>
      <amp-jwplayer 
         data-playlist-id = "482jsTAr"
         data-player-id = "uoIbMPm3"
         layout = "responsive"
         width = "16"
         height = "9">
      </amp-jwplayer>
   </body>
</html>

Đầu ra

Đối với amp-jwplayer, có ba thuộc tính quan trọng

  • data-player-id

  • data-media-id

  • data-playlist-id

Để nhận id của trình phát, phương tiện và danh sách phát, bạn cần phải đăng nhập vào jwplayer, có thể thực hiện từ đây - https://dashboard.jwplayer.com/#/players

Id người chơi sẽ có sẵn trong phần trình phát jwplayer. Id phương tiện sẽ có sẵn trongjwplayer content section và id danh sách phát trong jwplayer playlist section.

Jwplayer cung cấp một id gồm tám chữ và số cần được sử dụng trong amp-jwplayer cho thuộc tính tương ứng.

Google AMP - Youtube

Nếu bạn muốn hiển thị video Youtube trên trang amp của mình, amp có amp-youtube để nhúng video youtube vào trang.

Để sử dụng amp-youtube, bạn cần thêm tập lệnh sau vào trang của mình -

<script async custom-element = "amp-youtube" src = "
   https://cdn.ampproject.org/v0/amp-youtube-0.1.js">
</script>

Thẻ amp-youtube

<amp-youtube 
   width = "480"
   height = "270"
   layout = "responsive"
   autoplay = "true"
   data-videoid = "fWZ6-p7mGK0">
</amp-youtube>

Bây giờ chúng ta hãy làm việc trên một ví dụ cho thấy hoạt động của amp-youtube trên trang.

Thí dụ

<!doctype html>
<html amp lang = "en">
   <head>
      <meta charset = "utf-8">
      <script async src = "https://cdn.ampproject.org/v0.js">
      </script>
      <title>Google AMP - Youtube</title>
      <link rel = "canonical" href =
      "http://example.ampproject.org/article-metadata.html">
      <meta name = "viewport" content = "width = device-width,
      minimum-scale = 1,initial-scale = 1">
      
      <style amp-boilerplate>
         body{
            -webkit-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;animation:
            -amp-start 8s steps(1,end) 0s 1 normal both
         }
         @-webkit-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}
      </style>
      <noscript>
         <style amp-boilerplate>
            body{
               -webkit-animation:none;
               -moz-animation:none;
               -ms-animation:none;
               animation:none}
         </style>
      </noscript>
      <script async custom-element = "amp-youtube" src =
         "https://cdn.ampproject.org/v0/amp-youtube-0.1.js">
      </script>
   </head>
   <body>
      <h3>Google AMP - Youtube</h3>
      <h3>Youtube Videos from Tutorialspoint</h3>
      <amp-youtube 
         width = "480"
         height = "270"
         layout = "responsive"
         autoplay = "true"
         data-videoid = "fWZ6-p7mGK0">
      </amp-youtube>
   </body>
</html>

Đầu ra

Để hiển thị video youtube, bạn cần cung cấp videoid cho amp-youtube như hình dưới đây -

<amp-youtube 
   width = "480"
   height = "270"
   layout = "responsive"
   autoplay = "true"
   data-videoid = "fWZ6-p7mGK0">
</amp-youtube>

Làm cách nào để lấy data-videoid?

Hãy xem xét bất kỳ url Youtube nào chẳng hạn - https://www.youtube.com/watch?v=fWZ6-p7mGK0. Phần được đánh dấu là id sẽ được sử dụng trong amp-youtube của bạn.

Chúng tôi đã sử dụng thuộc tính autoplaynhư sự thật. Video sẽ tự động phát khi được trình duyệt hỗ trợ và video cũng sẽ phát ở chế độ tắt tiếng. Bạn sẽ phải nhấn vào video để bật tiếng. Video sẽ bị tạm dừng khi không xem được và sẽ tiếp tục từ trạng thái tạm dừng khi xem được. Nếu người dùng tạm dừng video và đi vào / ra khỏi chế độ xem, video sẽ chỉ ở trạng thái tạm dừng. Điều tương tự cũng áp dụng cho tắt tiếng / bật tiếng.

Google Amp - Âm thanh

Amp có thẻ để phát âm thanh, thẻ này thay thế cho thẻ âm thanh html5. Để phát âm thanh trong trang amp, chúng ta có thể sử dụng amp-audio.

Để làm việc với amp-audio, chúng ta cần thêm tập lệnh sau:

<script async custom-element = "amp-audio" src = "
   https://cdn.ampproject.org/v0/amp-audio-0.1.js">
</script>

Thẻ khuếch đại âm thanh

<amp-audio 
   width = "auto"
   height = "50"
   src = "audio/test.mp3">
  <div fallback>
     <p>HTML5 audio is not supported on your browser!</p>
   </div>
</amp-audio>

Do đó, amp-audio sẽ sử dụng thuộc tính src là một yêu cầu http đối với tệp âm thanh. Lý do chúng tôi sử dụng amp-audio thay vì âm thanh html5 tiêu chuẩn là bởi vì amp đặt khái niệm tải chậm cho các phần tử yêu cầu http request.

Nó sẽ bắt đầu tải yêu cầu dựa trên mức độ ưu tiên. Nó sẽ được tải ngay trước hoặc khi sắp đến khung nhìn.

Ví dụ hoạt động về việc sử dụng amp-audio trong trang của bạn được hiển thị ở đây -

Thí dụ

<!doctype html>
<html amp lang = "en">
   <head>
      <meta charset = "utf-8">
      <script async src = "https://cdn.ampproject.org/v0.js">
      </script>
      <title>Google AMP - Audio</title>
      <link rel = "canonical" href =
      "http://example.ampproject.org/article-metadata.html">
      <meta name = "viewport" content = "width = device-width,
      minimum-scale = 1,initial-scale = 1">
      
      <style amp-boilerplate>
         body{
            -webkit-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;animation:
            -amp-start 8s steps(1,end) 0s 1 normal both
         }
         @-webkit-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}
      </style>
      <noscript>
         <style amp-boilerplate>
            body{
               -webkit-animation:none;
               -moz-animation:none;
               -ms-animation:none;
               animation:none}
         </style>
      </noscript>
      <script async custom-element = "amp-audio" 
         src = "https://cdn.ampproject.org/v0/amp-audio-0.1.js">
      </script>
   </head>
   <body>
      <h3>Google AMP - Audio</h3>
      <amp-audio 
         width = "auto"
         height = "50"
         src="audio/test.mp3">
            <div fallback>
               <p>HTML5 audio is not supported on your browser!</p>
            </div>
      </amp-audio>
   </body>
</html>

Đầu ra

Thẻ cho amp-audio nơi các thuộc tính như chiều rộng, chiều cao, src được chỉ định được hiển thị ở đây. Chúng tôi cũng đã thêm một div vớifallback attribute sẽ hoạt động như một dự phòng nếu amp-audio không được hỗ trợ trên trình duyệt.

<amp-audio 
   width = "auto"
   height = "50"
   src = "audio/test.mp3">
   <div fallback>
      <p>HTML5 audio is not supported on your browser!</p>
   </div>
</amp-audio>

Lưu ý rằng các điều khiển được thêm theo mặc định vào thẻ âm thanh và có thể được sử dụng để phát / tạm dừng và tắt / bật âm thanh. Bạn nhận được tùy chọn tải xuống cho thẻ âm thanh như hình dưới đây -

Khi nhấp vào tải xuống, bạn có thể tải xuống tệp phương tiện được sử dụng. Để tắt tải xuống, bạn có thể sử dụng thuộc tính -controlsList="nodownload" như thể hiện trong ví dụ dưới đây -

Thí dụ

<!doctype html>
<html amp lang = "en">
   <head>
      <meta charset = "utf-8">
      <script async src = "https://cdn.ampproject.org/v0.js">
      </script>
      <title>Google AMP - Audio</title>
      <link rel = "canonical" href =
      "http://example.ampproject.org/article-metadata.html">
      <meta name = "viewport" content = "width = device-width,
      minimum-scale = 1,initial-scale = 1">
         <style amp-boilerplate>
            body{
               -webkit-animation:
               -amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:
               -amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:
               -amp-start 8s steps(1,end) 0s 1 normal both;animation:
               -amp-start 8s steps(1,end) 0s 1 normal both
            }
            @-webkit-keyframes 
            -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes 
            -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes 
            -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes 
            -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes 
            -amp-start{from{visibility:hidden}to{visibility:visible}}
         </style>
         <noscript>
            <style amp-boilerplate>
               body{
                  -webkit-animation:none;
                  -moz-animation:none;
                  -ms-animation:none;
                  animation:none}
            </style>
         </noscript>
         <script async custom-element = "amp-audio" 
            src = "https://cdn.ampproject.org/v0/amp-audio-0.1.js">
         </script>
   </head>
   <body>
      <h3>Google AMP - Audio</h3>
      <amp-audio 
         width = "auto"
         height = "50"
         src = "audio/test.mp3" 
         controlsList = "nodownload">
            <div fallback>
               <p>HTML5 audio is not supported on your browser!</p>
            </div>
      </amp-audio>
   </body>
</html>

Đầu ra

Sử dụng controlsList="nodownload" ba chấm dọc ở bên phải đã biến mất.

Có các thuộc tính như preloadautoplay, nếu chúng được thêm vào thẻ âm thanh, tệp âm thanh sẽ được tải khi tải trang và sẽ tự động phát nếu trình duyệt hỗ trợ. Ví dụ sau đây cho thấy tính năng tự động phát âm thanh.

Thí dụ

<!doctype html>
<html amp lang = "en">
   <head>
      <meta charset="utf-8">
      <script async src = "https://cdn.ampproject.org/v0.js">
      </script>
      <title>Google AMP - Audio</title>
      <link rel = "canonical" href =
      "http://example.ampproject.org/article-metadata.html">
      <meta name = "viewport" content = "width = device-width,
      minimum-scale = 1,initial-scale = 1">
      
      <style amp-boilerplate>
         body{
            -webkit-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;animation:
            -amp-start 8s steps(1,end) 0s 1 normal both
         }
         @-webkit-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}
      </style>
      <noscript>
         <style amp-boilerplate>
            body{
               -webkit-animation:none;
               -moz-animation:none;
               -ms-animation:none;
               animation:none}
         </style>
      </noscript>
      <script async custom-element = "amp-audio" 
         src = "https://cdn.ampproject.org/v0/amp-audio-0.1.js">
      </script>
   </head>
   <body>
      <h3>Google AMP - Audio</h3>
      <amp-audio 
         width = "auto"
         height = "50"
         src = "audio/test.mp3" preload autoplay>
            <div fallback>
               <p>HTML5 audio is not supported on your browser!</p>
            </div>
      </amp-audio>
   </body>
</html>

Đầu ra

Thuộc tính loop, nếu có sẽ làm cho âm thanh phát lại sau khi hoàn tất.

Thí dụ

<amp-audio 
   width = "auto"
   height = "50"
   src = "audio/test.mp3" loop>
   <div fallback>
      <p>HTML5 audio is not supported on your browser!</p>
   </div>
</amp-audio>