def playMedia(self, media, offset=<NUM_LIT:0>, **params):
if not self._server:<EOL><INDENT>raise Unsupported('<STR_LIT>')<EOL><DEDENT>server_url = media._server._baseurl.split('<STR_LIT::>')<EOL>server_port = server_url[-<NUM_LIT:1>].strip('<STR_LIT:/>')<EOL>if self.product != '<STR_LIT>':<EOL><INDENT>try:<EOL><INDENT>self.sendCommand('<STR_LIT>', port=server_port, protocol='<STR_LIT:http>')<EOL><DEDENT>except:  <EOL><INDENT>log.exception('<STR_LIT>' % self.title)<EOL><DEDENT><DEDENT>playqueue = media if isinstance(media, PlayQueue) else self._server.createPlayQueue(media)<EOL>self.sendCommand('<STR_LIT>', **dict({<EOL>'<STR_LIT>': self._server.machineIdentifier,<EOL>'<STR_LIT:address>': server_url[<NUM_LIT:1>].strip('<STR_LIT:/>'),<EOL>'<STR_LIT:port>': server_port,<EOL>'<STR_LIT>': offset,<EOL>'<STR_LIT:key>': media.key,<EOL>'<STR_LIT>': media._server._token,<EOL>'<STR_LIT>': '<STR_LIT>' % playqueue.playQueueID,<EOL>}, **params))<EOL>
Start playback of the specified media item. See also:

            Parameters:
                media (:class:`~plexapi.media.Media`): Media item to be played back
                    (movie, music, photo, playlist, playqueue).
                offset (int): Number of milliseconds at which to start playing with zero
                    representing the beginning (default 0).
                **params (dict): Optional additional parameters to include in the playback request. See
                    also: https://github.com/plexinc/plex-media-player/wiki/Remote-control-API#modified-commands

            Raises:
                :class:`plexapi.exceptions.Unsupported`: When no PlexServer specified in this object.