Skip to content
Related Articles

Related Articles

Improve Article

How to set custom media notification with amp-audio in Google AMP ?

  • Last Updated : 16 Oct, 2020

Since the release of HTML5, audios can be added to webpages using the “audio” tag. Previously audios could be only played on webpages using web plugins like Flash. The “audio” tag is an inline element which is used to embed sound files into a web page. It is a very useful tag if you want to add audio such as songs, interviews, etc on your webpage. To embed audio in AMP pages you have to make use of the amp-audio tag.

Setup: To use the amp-audio, you have to import the amp-audio component into the head of the webpage.

HTML




<script async custom-element="amp-audio" src=
</script>

Attributes:



  1. width: It defines the width of the audio division.
  2. height: It defines the height of the audio division.
  3. src: It defines the source of the audio file to be played.
  4. preload: Sets the preloaded attribute to the HTML audio tag.
  5. autoplay: If present automatically starts the audio when the page is loaded.
  6. muted: If present sets the volume strength to 0 by default.
  7. loop: If present automatically repeats the audio from starting when it ends.

Apart from these attributes, there are a few optional attributes which can be used to set custom media notification.

  1. artwork: It is used to set thumbnail of the audio file.
  2. title: It is used to set the title of the audio file.
  3. album: It is used to set the name of the album.
  4. artist: It is used to set the artist name.

Example:

HTML




<!doctype html>
<html amp>
  
<head>
    <meta charset="utf-8">
    <title>Google AMP amp-audio</title>
  
    <script async src=
    </script>
      
    <!--Import the `amp-audio` component-->
    <script async custom-element=
        "amp-audio" src=
    </script>
  
    <link rel="canonical" href=
  
    <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>
  
    <style amp-custom>
        h1 {
            color: forestgreen;
            text-align: center;
        }
    </style>
</head>
  
<body>
    <h1>
        Geeks For Geeks
    </h1>
  
    <amp-audio width="auto" height="50" 
        src="GeeksForGeeks.mp3" 
        artwork="gfg.png" 
        title="GeeksForGeeks"
        album="GeeksForGeeks" 
        artist="GeeksForGeeks" controls>
  
        <!-- It will display when the file 
         is not supported by the browser. -->
        <div fallback>
            Your browser doesn’t 
            support HTML5 audio...
        </div>
    </amp-audio>
</body>
  
</html>

Output:




My Personal Notes arrow_drop_up
Recommended Articles
Page :