public function playSingle($base64)
    {
        try {
            /**
             * Decode Path
             */
            $base64 = base64_decode($base64);

            /**
             * Path to File on Disk
             */
            $path = $this->getSearchPath() . '/' . $base64;

            /**
             * Path to Web URL
             */
            $file = ltrim($this->getBaseDir() . '/' . $base64, '/');

            /**
             * Server URL
             */
            $serverUrl = $this->serverUrl->get('serverurl')
                                         ->__invoke('/');

            clearstatcache();

            if (is_file($path)) {
                switch ($this->getFormat()) {
                    /**
                     * The most common playlist format
                     */
                    case 'm3u':
                        header("Content-Type: audio/mpegurl");
                        header("Content-Disposition: attachment; filename=" . basename($file) . ".m3u");

                        echo $serverUrl . str_replace(' ', '%20', $file);

                        exit;

                        break;

                    /**
                     * Shoutcast / Icecast / Winamp
                     */
                    case 'pls':
                        header("Content-Type: audio/x-scpls");
                        header("Content-Disposition: attachment; filename=" . basename($file) . ".pls");

                        $id3 = $this->getId3($path);

                        $name = !empty($id3['comments_html']['title'])
                            ? implode(
                                '<br>',
                                $id3['comments_html']['title']
                            )
                            : basename($path);

                        $playlist = '[Playlist]' . "\n";
                        $playlist .= 'File1=' . $serverUrl . str_replace(' ', '%20', $file) . "\n";
                        $playlist .= 'Title1=' . $name . "\n";
                        $playlist .= 'Length1=-1' . "\n";
                        $playlist .= 'Numberofentries=1' . "\n";
                        $playlist .= 'Version=2' . "\n";

                        echo $playlist;

                        exit;

                        break;

                    /**
                     * Error
                     */
                    default:
                        throw new \Exception(
                            $this->translate->translate(
                                'Format is not currently supported. Supported formats are: pls, m3u',
                                'mp3'
                            )
                        );
                }
            } else {
                throw new \Exception(
                    $path . ' ' . $this->translate->translate(
                        'was not found',
                        'mp3'
                    )
                );
            }
        } catch (\Exception $e) {
            throw $e;
        }
    }