def METHOD_NAME(self, track_id, enqueue=False, t=0, url=None):
    self.cast.wait()
    tr = self.tauon.pctl.g(track_id)
    n = 0
    try:
        n = int(tr.track_number)
    except:
        pass
    d = {
        "metadataType": 3,
        "albumName": tr.album,
        "title": tr.title,
        "albumArtist": tr.album_artist,
        "artist": tr.artist,
        "trackNumber": n,
        "images": [{"url": f"http://{self.ip}:7814/api1/pic/medium/{track_id}"}],
        "releaseDate": tr.date
    }
    m = {
        "duration": round(float(tr.length), 1),
        "customData": {"id": str(tr.index)}
    }
    if url is None:
        url = f"http://{self.ip}:7814/api1/file/{track_id}"
    else:
        url = url.replace("localhost", self.ip)
        url = url.replace("127.0.0.1", self.ip)
    self.cast.media_controller.play_media(url, 'audio/mpeg', media_info=m, metadata=d, current_time=t, enqueue=enqueue)