In a Windows Phone 8 application you needed ID_CAP_VOIP to use

AudioRoutingManager.GetDefault().AudioEndpointChanged

What is the equivalent in a Universal Application? There don't appear to be any VOIP/Audio capabilities listed in the Capabilities tab on the Package.appxmanifest

(I'm starting to think this is impossible in an 8.1 Universal App)

1

There are 1 best solutions below

0
On

Old question but now I know the answer.

Two things which you need to do: 1. Tag the audio in question as "communications"

How to do this depends on what API you're using. It could be as simple as . Or you might have to call IAudioClient2::SetClientProperties with an AudioClientProperties structure whose AudioClientProperties.eCategory = AudioCategory_Communications.

  1. Tag your app as either a "voice over IP" app or a "voicemail" app You should add file called WindowsPhoneReservedAppInfo.xml to your project with the following contents:

    <?xml version="1.0" encoding="utf-8"?>
    <WindowsPhoneReservedAppInfo         xmlns="http://schemas.microsoft.com/phone/2013/windowsphonereservedappinfo">
      <SoftwareCapabilities>
        <SoftwareCapability Id="ID_CAP_VOIP" />
      </SoftwareCapabilities>
    </WindowsPhoneReservedAppInfo>
    

Look for more detailed explanation here:

Playing audio to the earpiece from a Windows Phone 8.1 universal app