title: Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture
body: <p>I'm making a music playing page, where I use <a href="https://github.com/perminder-klair/angular-soundmanager2" rel="noreferrer">SoundManager 2 for AngularJs</a>. 
  I'm using a remote API to get a song URL to play. I enhanced an angular-soundmanager2 click event handler : </p>
  
  <pre><code>element.bind('click', function () {
      if (angular.isFunction(scope.loadFunction)) {
          scope.loadFunction(scope.song, function () {
              $log.debug('adding song to playlist');
              addToPlaylist(scope.song.playDetails);
  
          })
      } else {
          $log.debug('adding song to playlist');
          addToPlaylist(scope.song);
      }
  });
  </code></pre>
  
  <p>Where I added a part, that calls <code>scope.loadFunction(song,callback)</code> and after this function loads a song URL it calls a callback to give the control back to angular-soundmanager2.</p>
  
  <p>The problem is that on chrome for android I get an error :</p>
  
  <pre><code>Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture.
  </code></pre>
  
  <p>it doesn't happen if a song has a URL from the beginning and async loading isn't used.</p>
  
  <p>Are there any workarounds for it?</p>