How to solve “NotAllowedError: play() can only be initiated by a user gesture.” audio problem in javascript android webview?

While playing audio in javascript using webview in android platform we may encounter following problem NotAllowedError: play() can only be initiated by a user gesture.. This is due to security and good user experience issue. So to enable sound play we should use following code in android:

int SDK_INT = android.os.Build.VERSION.SDK_INT;
if (SDK_INT > 16) {
    WebViewWithJavaScript.getSettings().setMediaPlaybackRequiresUserGesture(false);
}

Android SDK below 17 will not support this hack so we should use the condition.

Please comment if this worked for you. Thanks.

You may also like...

2 Responses

  1. Tx for explanation.
    I occurre same problem

  2. Aidan says:

    Works for me, thanks 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

*