diff --git a/src/lib/audio/shared-audio-context.js b/src/lib/audio/shared-audio-context.js
index 7d65e51a0b66b12f2c0972bb35674f9324bff2c8..dc1a8703fe092485e33873bc9fdc9f1e6c0995af 100644
--- a/src/lib/audio/shared-audio-context.js
+++ b/src/lib/audio/shared-audio-context.js
@@ -1,5 +1,5 @@
-import StartAudioContext from 'startaudiocontext';
-import bowser from 'bowser';
+import StartAudioContext from "startaudiocontext";
+import bowser from "bowser";
 
 let AUDIO_CONTEXT;
 
@@ -8,7 +8,9 @@ if (!bowser.msie) {
      * AudioContext can be initialized only when user interaction event happens
      */
     const event =
-        typeof document.ontouchend === 'undefined' ? 'mouseup' : 'touchend';
+        typeof document.ontouchstart === "undefined"
+            ? "mousedown"
+            : "touchstart";
     const initAudioContext = () => {
         document.removeEventListener(event, initAudioContext);
         AUDIO_CONTEXT = new (window.AudioContext ||
diff --git a/test/unit/util/audio-context.test.js b/test/unit/util/audio-context.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..d4f3c4ec7002f9c48896c063dccb13b6995d0f58
--- /dev/null
+++ b/test/unit/util/audio-context.test.js
@@ -0,0 +1,25 @@
+import "web-audio-test-api";
+import SharedAudioContext from "../../../src/lib/audio/shared-audio-context";
+
+describe("Shared Audio Context", () => {
+    const audioContext = new AudioContext();
+
+    test("returns empty object without user gesture", () => {
+        const sharedAudioContext = new SharedAudioContext();
+        expect(sharedAudioContext).toMatchObject({});
+    });
+
+    test("returns AudioContext when mousedown is triggered", () => {
+        const sharedAudioContext = new SharedAudioContext();
+        const event = new Event("mousedown");
+        document.dispatchEvent(event);
+        expect(sharedAudioContext).toMatchObject(audioContext);
+    });
+
+    test("returns AudioContext when touchstart is triggered", () => {
+        const sharedAudioContext = new SharedAudioContext();
+        const event = new Event("touchstart");
+        document.dispatchEvent(event);
+        expect(sharedAudioContext).toMatchObject(audioContext);
+    });
+});