43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
class MP3FileHandlerTheme extends Themelet
 | 
						|
{
 | 
						|
    public function display_image(Page $page, Image $image)
 | 
						|
    {
 | 
						|
        $data_href = get_base_href();
 | 
						|
        $ilink = $image->get_image_link();
 | 
						|
        $fname = url_escape($image->filename); //Most of the time this will be the title/artist of the song.
 | 
						|
        $html = "
 | 
						|
			<audio controls class='shm-main-image audio_image' id='main_image' alt='main image'>
 | 
						|
				<source src=\"$ilink\" type=\"audio/mpeg\">
 | 
						|
				Your browser does not support the audio element.
 | 
						|
			</audio>
 | 
						|
			<p>Title: <span id='audio-title'>???</span> | Artist: <span id='audio-artist'>???</span></p>
 | 
						|
 | 
						|
			<script>
 | 
						|
				$('#main_image').prop('volume', 0.25);
 | 
						|
 | 
						|
				var jsmediatags = window.jsmediatags;
 | 
						|
				jsmediatags.read(location.origin+base_href+'$ilink', {
 | 
						|
					onSuccess: function(tag) {
 | 
						|
						var artist = tag.tags.artist,
 | 
						|
						    title  = tag.tags.title;
 | 
						|
 | 
						|
						$('#audio-title').text(title);
 | 
						|
						$('#audio-artist').text(artist);
 | 
						|
 | 
						|
						$('#audio-download').prop('download', (artist+' - '+title).substr(0, 250)+'.mp3');
 | 
						|
					},
 | 
						|
					onError: function(error) {
 | 
						|
						console.log(error);
 | 
						|
					}
 | 
						|
				});
 | 
						|
			</script>
 | 
						|
 | 
						|
			<p><a href='$ilink' id='audio-download'>Download</a>";
 | 
						|
 | 
						|
        $page->add_html_header("<script src='{$data_href}/ext/handle_mp3/lib/jsmediatags.min.js' type='text/javascript'></script>");
 | 
						|
        $page->add_block(new Block("Music", $html, "main", 10));
 | 
						|
    }
 | 
						|
}
 |