def play(self, media: Media) -> Optional[subprocess.Popen]:
        """Plays this media in the MPV media player."""

        if self.platform == "Android":

            if media.referrer is not None:
                raise ReferrerNotSupportedError(
                    "The MPV player on Android does not support passing referrers, so this media cannot be played. :("
                )

            return subprocess.Popen(
                [
                    "am",
                    "start",
                    "-n",
                    "is.xyz.mpv/is.xyz.mpv.MPVActivity",
                    "-e",
                    "filepath",
                    media.url,
                ]
            )

        elif self.platform == "Linux" or self.platform == "Windows" or self.platform == "Darwin" or self.platform == "FreeBSD":
            default_args = [
                "mpv", 
                media.url
            ]

            if media.audio_url is not None:
                default_args.append(f"--audio-file={media.audio_url}")

            return subprocess.Popen(
                default_args + self._get_args(self.platform, media),
                stdout = (subprocess.STDOUT if self.debug else subprocess.DEVNULL), # NOTE: https://github.com/mov-cli/mov-cli/issues/361
                stderr = subprocess.STDOUT
            )

        return None
Plays this media in the MPV media player.
mov_cli/players/mpv.py