Unable to play Spotify Music through Brave

Description of the issue: I wasn’t able to play Spotify Music when I use Brave in my Windows PC
How can this issue be reproduced?

  1. Download Brave

  2. Ensure “Widevine” is toggled on in brave://settings/extensions

  3. Ensure “Widevine Content Decryption Module” is downloaded and updated in brave://components/

  4. Play any music in Spotify

Expected result: Able to playback any music

Brave Version( check About Brave): Brave 1.89.145 (Official Build) (64-bit)

Additional Information:

OS: Windows 11 Enterprise

I was able to play music when using Edge or Google Chrome, but I can’t through Brave. It will popup the following error when I inspect the Network Traffic

Request URL: https://gae2-spclient.spotify.com/widevine-license/v1/audio/license
Request Method: POST
Status Code: 403 Forbidden

Full log of brave://media-internals/

{
  "properties": {
    "render_id": 6,
    "player_id": 23,
    "created": "2026-05-05 07:02:43.323320 UTC",
    "origin_url": "https://open.spotify.com/",
    "kFrameUrl": "https://open.spotify.com/?flow_ctx=214789f9-59b0-4912-a790-a1a50e140db5%3A1775687012",
    "kFrameTitle": "Empty Room • Jamie Miller",
    "kSetCdm": {
      "allow_distinctive_identifier": false,
      "allow_persistent_state": false,
      "key_system": "com.widevine.alpha",
      "use_hw_secure_codecs": false
    },
    "url": "blob:https://open.spotify.com/4955009e-0c18-4ecc-b552-3854be45ba3c",
    "info": "DecryptingDemuxerStream: no key for key ID 2318D76C18D9965959C40826F8D1257C; will resume decrypting after new usable key is available",
    "kRendererName": "RendererImpl",
    "pipeline_state": "kPlaying",
    "kIsCdmAttached": true,
    "kAudioTracks": [
      {
        "bytes per channel": 2,
        "bytes per frame": 4,
        "channel layout": "STEREO",
        "channels": 2,
        "codec": "aac",
        "codec delay": 0,
        "discard decoder delay": false,
        "encryption scheme": "Unencrypted",
        "has extra data": true,
        "profile": "unknown",
        "sample format": "Signed 16-bit",
        "samples per second": 44100,
        "seek preroll": "0us"
      }
    ],
    "kVideoTracks": [
      {
        "alpha mode": "is_opaque",
        "codec": "unknown",
        "coded size": "0x0",
        "color space": {
          "matrix": "INVALID",
          "primaries": "INVALID",
          "range": "INVALID",
          "transfer": "INVALID"
        },
        "encryption scheme": "Unencrypted",
        "has extra data": false,
        "hdr metadata": {},
        "natural size": "0x0",
        "orientation": "0°",
        "profile": "unknown",
        "visible rect": "0,0 0x0"
      }
    ],
    "kIsAudioDecryptingDemuxerStream": true,
    "kAudioDecoderName": "FFmpegAudioDecoder",
    "kIsPlatformAudioDecoder": false,
    "auto_picture_in_picture_info": {
      "blocked_due_to_content_setting": true,
      "has_audio_focus": true,
      "has_safe_url": true,
      "is_playing": true,
      "meets_media_engagement_conditions": true,
      "reason": "Unknown",
      "was_recently_audible": true
    },
    "duration": 208.153106,
    "audio_buffering_state": {
      "reason": "DEMUXER_UNDERFLOW",
      "state": "BUFFERING_HAVE_NOTHING"
    },
    "pipeline_buffering_state": {
      "for_suspended_start": false,
      "reason": "DEMUXER_UNDERFLOW",
      "state": "BUFFERING_HAVE_NOTHING"
    },
    "event": "kPlay"
  },
  "events": [
    {
      "time": 0,
      "key": "created",
      "value": "2026-05-05 07:02:43.323320 UTC"
    },
    {
      "time": 0.22100001573562622,
      "key": "origin_url",
      "value": "https://open.spotify.com/"
    },
    {
      "time": 0.2279999852180481,
      "key": "kFrameUrl",
      "value": "https://open.spotify.com/?flow_ctx=214789f9-59b0-4912-a790-a1a50e140db5%3A1775687012"
    },
    {
      "time": 0.23399996757507324,
      "key": "kFrameTitle",
      "value": "Empty Room • Jamie Miller"
    },
    {
      "time": 0.25,
      "key": "kSetCdm",
      "value": {
        "allow_distinctive_identifier": false,
        "allow_persistent_state": false,
        "key_system": "com.widevine.alpha",
        "use_hw_secure_codecs": false
      }
    },
    {
      "time": 0.3959999680519104,
      "key": "url",
      "value": "blob:https://open.spotify.com/4955009e-0c18-4ecc-b552-3854be45ba3c"
    },
    {
      "time": 0.43400001525878906,
      "key": "info",
      "value": "ChunkDemuxer"
    },
    {
      "time": 0.4919999837875366,
      "key": "kRendererName",
      "value": "RendererImpl"
    },
    {
      "time": 0.5189999938011169,
      "key": "pipeline_state",
      "value": "kStarting"
    },
    {
      "time": 0.918999969959259,
      "key": "kIsCdmAttached",
      "value": true
    },
    {
      "time": 339.3759999871254,
      "key": "kAudioTracks",
      "value": [
        {
          "bytes per channel": 2,
          "bytes per frame": 4,
          "channel layout": "STEREO",
          "channels": 2,
          "codec": "aac",
          "codec delay": 0,
          "discard decoder delay": false,
          "encryption scheme": "CENC",
          "has extra data": true,
          "profile": "unknown",
          "sample format": "Signed 16-bit",
          "samples per second": 44100,
          "seek preroll": "0us"
        }
      ]
    },
    {
      "time": 339.8930000066757,
      "key": "info",
      "value": "Dropping audio frame (DTS 0us PTS -46439us,-23220us) that is outside append window [0us,9223372036854775807us)."
    },
    {
      "time": 339.91799998283386,
      "key": "info",
      "value": "Dropping audio frame (DTS 23219us PTS -23219us,0us) that is outside append window [0us,9223372036854775807us)."
    },
    {
      "time": 384.4739999771118,
      "key": "kAudioTracks",
      "value": [
        {
          "bytes per channel": 2,
          "bytes per frame": 4,
          "channel layout": "STEREO",
          "channels": 2,
          "codec": "aac",
          "codec delay": 0,
          "discard decoder delay": false,
          "encryption scheme": "Unencrypted",
          "has extra data": true,
          "profile": "unknown",
          "sample format": "Signed 16-bit",
          "samples per second": 44100,
          "seek preroll": "0us"
        }
      ]
    },
    {
      "time": 384.5,
      "key": "kVideoTracks",
      "value": [
        {
          "alpha mode": "is_opaque",
          "codec": "unknown",
          "coded size": "0x0",
          "color space": {
            "matrix": "INVALID",
            "primaries": "INVALID",
            "range": "INVALID",
            "transfer": "INVALID"
          },
          "encryption scheme": "Unencrypted",
          "has extra data": false,
          "hdr metadata": {},
          "natural size": "0x0",
          "orientation": "0°",
          "profile": "unknown",
          "visible rect": "0,0 0x0"
        }
      ]
    },
    {
      "time": 385.5180000066757,
      "key": "kIsAudioDecryptingDemuxerStream",
      "value": true
    },
    {
      "time": 385.52300000190735,
      "key": "kAudioDecoderName",
      "value": "FFmpegAudioDecoder"
    },
    {
      "time": 385.57499998807907,
      "key": "kIsPlatformAudioDecoder",
      "value": false
    },
    {
      "time": 385.5929999947548,
      "key": "info",
      "value": "Selected DecryptingDemuxerStream for audio decryption, config: codec: aac, profile: unknown, bytes_per_channel: 2, channel_layout: STEREO, channels: 2, samples_per_second: 44100, sample_format: Signed 16-bit, bytes_per_frame: 4, seek_preroll: 0us, codec_delay: 0, has extra data: true, encryption scheme: CENC, discard decoder delay: false, target_output_channel_layout: STEREO, target_output_sample_format: Unknown sample format"
    },
    {
      "time": 385.60399997234344,
      "key": "info",
      "value": "Selected FFmpegAudioDecoder for audio decoding, config: codec: aac, profile: unknown, bytes_per_channel: 2, channel_layout: STEREO, channels: 2, samples_per_second: 44100, sample_format: Signed 16-bit, bytes_per_frame: 4, seek_preroll: 0us, codec_delay: 0, has extra data: true, encryption scheme: Unencrypted, discard decoder delay: false, target_output_channel_layout: STEREO, target_output_sample_format: Unknown sample format"
    },
    {
      "time": 385.6710000038147,
      "key": "pipeline_state",
      "value": "kPlaying"
    },
    {
      "time": 385.68000000715256,
      "key": "info",
      "value": "audiostream is encrypted with clear lead"
    },
    {
      "time": 421.3959999680519,
      "key": "info",
      "value": "Effective playback rate changed from 0 to 1"
    },
    {
      "time": 427.7360000014305,
      "key": "auto_picture_in_picture_info",
      "value": {
        "blocked_due_to_content_setting": false,
        "has_audio_focus": true,
        "has_safe_url": true,
        "is_playing": true,
        "meets_media_engagement_conditions": true,
        "reason": "MediaPlayback",
        "was_recently_audible": true
      }
    },
    {
      "time": 339.4259999990463,
      "key": "duration",
      "value": 208.153106
    },
    {
      "time": 388.68299996852875,
      "key": "audio_buffering_state",
      "value": {
        "state": "BUFFERING_HAVE_ENOUGH"
      }
    },
    {
      "time": 419.8240000009537,
      "key": "pipeline_buffering_state",
      "value": {
        "for_suspended_start": false,
        "state": "BUFFERING_HAVE_ENOUGH"
      }
    },
    {
      "time": 421.6409999728203,
      "key": "event",
      "value": "kPlay"
    },
    {
      "time": 1946.9610000252724,
      "key": "auto_picture_in_picture_info",
      "value": {
        "blocked_due_to_content_setting": true,
        "has_audio_focus": true,
        "has_safe_url": true,
        "is_playing": true,
        "meets_media_engagement_conditions": true,
        "reason": "Unknown",
        "was_recently_audible": true
      }
    },
    {
      "time": 9932.222999989986,
      "key": "info",
      "value": "First switch from clear to encrypted buffers."
    },
    {
      "time": 9932.486999988556,
      "key": "info",
      "value": "DecryptingDemuxerStream: no key for key ID 2318D76C18D9965959C40826F8D1257C; will resume decrypting after new usable key is available"
    },
    {
      "time": 10472.134999990463,
      "key": "audio_buffering_state",
      "value": {
        "reason": "DEMUXER_UNDERFLOW",
        "state": "BUFFERING_HAVE_NOTHING"
      }
    },
    {
      "time": 10472.194000005722,
      "key": "pipeline_buffering_state",
      "value": {
        "for_suspended_start": false,
        "reason": "DEMUXER_UNDERFLOW",
        "state": "BUFFERING_HAVE_NOTHING"
      }
    }
  ]
}

I have tried all the methods of re-installation of WideWine, re-install whole Brave, turn off Brave Shield, but none of the method solve my issue

Are you using a VPN?

Do you see any update errors at brave://components?

No I was not using a VPN. Nor did I saw any update errors in brave://components

Could try disabling Widevine, restart Brave, then re-enable Widevine

Yes I have tried it too, but it still doesn’t work