<html>
    <head>
      <base href="https://bugs.webkit.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Audio Volume reduces considerably on accepting the mic permissions."
   href="https://bugs.webkit.org/show_bug.cgi?id=218012#c17">Comment # 17</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Audio Volume reduces considerably on accepting the mic permissions."
   href="https://bugs.webkit.org/show_bug.cgi?id=218012">bug 218012</a>
              from <span class="vcard"><a class="email" href="mailto:david.goelzhaeuser@loxone.com" title="David Gölzhäuser <david.goelzhaeuser@loxone.com>"> <span class="fn">David Gölzhäuser</span></a>
</span></b>
        <pre>I am currently working on a workaround, I made some progress.


Here is our use case.

Web based WebRTC Application that initially receives a Video Stream, then when calling the remote peer the local and remote audio will be enabled

The current implementation acquired the devices local microphone stream and added its track to the RTCPeerConnection, this triggered a renegotiate and eventually in receiving the remote peers audio stream. => Remote Audio was emitted through the earpiece

I restructured this behavior because I noticed the correct speaker is used when first receiving the remote peers audio stream and then acquiring the local devices microphone stream. => Remote Audio was emitted through the speaker

However, this only works once per app livecycle (Cordova based App). So I am still working on it, but its an improvement.


FYI:
I simply add the empty Track `audioContext.createMediaStreamDestination().stream.getAudioTracks()[0]` to the RTCPeerConnection, then when the mic stream is acquired I simply replace the former added track with the local microphone track of the resulting RTCSender (from the RTCPeerConnections function `addTrack`)</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>