There is yet another way.
The smartphone is used as the controller of a server; and the server sends data to the Chromecast Audio Dongle (and on to a DAC.)
I use Logitech Media Server (LMS) which has a plugin called Castbridge which will stream data to a Chromecast audio or video dongle turning such devices into virtual squeezeboxes. There are other servers available.
I now run LMS on a Raspberry Pi, but for many years ran it on a PC.
LMS will stream music from services like Spotify, it will stream internet radio stations, and it will stream you own local files (probably ripped CDs)
It is a very flexible system.
See
https://forums.slimdevices.com/showt...ght=castbridge
and explore other sections of the forum for general information on LMS
LMS is free and may be downloaded here.
https://www.mysqueezebox.com/download
There are various controller apps for Apple and Android phones which may be downloaded, or LMS may be controlled from a web interface in a browser.