= 32 AND ord($text[$c]) <= 122)
$outText.=$text[$c];
}
return $outText;
}
// read a text frame from the ID3 tag. V2.2 and 2.3 are supported
function readFrame ($frameTag, $header, $ver) {
if ($ver == 3) {
$lengthOffset = 6;
$textOffset = 11;
}
if ($ver == 2) {
$lengthOffset = 4;
$textOffset = 7;
}
// find the tag we're looking for
$tagStart = strpos ($header, $frameTag) ;
// this code only reads the first 256 bytes on larger frames
$tagLength = ord (substr($header, $tagStart + 1 + $lengthOffset, 1));
$textStart = $tagStart + $textOffset;
if ($frameTag == "COMM" || $frameTag == "COM") {
$textStart = $textStart + 4;
$tagLength = $tagLength - 4;
}
$tagText = substr($header, $textStart, $tagLength - 1);
return stripJunk($tagText);
}
class CMP3File {
//properties
var $title;
var $artist;
var $album;
var $year;
var $comment;
var $genre;
var $composer;
var $copyright;
var $mime_type;
function getid3 ($file) {
// Initialize getID3 engine
if (file_exists($file))
{ //after verifying the file exists,
$getID3 = new getID3;
// Analyze file and store returned data in $ThisFileInfo
$ThisFileInfo = $getID3->analyze($file);
// Optional: copies data from all subarrays of [tags] into [comments] so
// metadata is all available in one location for all tag formats
// metainformation is always available under [tags] even if this is not called
getid3_lib::CopyTagsToComments($ThisFileInfo);
// Output desired information in whatever format you want
// Note: all entries in [comments] or [tags] are arrays of strings
// See structure.txt for information on what information is available where
// or check out the output of /demos/demo.browse.php for a particular file
// to see the full detail of what information is returned where in the array
//echo @$ThisFileInfo['comments']['artist'][0]; // artist from any/all available tag formats
$mim = @$ThisFileInfo['mime_type']; // artist from any/all available tag formats
switch (strrchr(strtolower($file), "."))
{
case ".mp3";
$tit = @$ThisFileInfo['id3v2']['comments']['title'][0]; // artist from any/all available tag formats
$alb = @$ThisFileInfo['id3v2']['comments']['album'][0]; // artist from any/all available tag formats
$art = @$ThisFileInfo['id3v2']['comments']['artist'][0]; // artist from any/all available tag formats
$com = @$ThisFileInfo['id3v2']['comments']['comment'][3]; // artist from any/all available tag formats
$cmp = @$ThisFileInfo['id3v2']['comments']['composer'][0]; // artist from any/all available tag formats
$gen = @$ThisFileInfo['id3v2']['comments']['genre'][0]; // artist from any/all available tag formats
break;
case ".m4a";
$tit = @$ThisFileInfo['quicktime']['comments']['title'][0]; // artist from any/all available tag formats
$alb = @$ThisFileInfo['quicktime']['comments']['album'][0]; // artist from any/all available tag formats
$art = @$ThisFileInfo['quicktime']['comments']['artist'][0]; // artist from any/all available tag formats
$com = @$ThisFileInfo['quicktime']['comments']['comment'][0]; // artist from any/all available tag formats
$cmp = @$ThisFileInfo['quicktime']['comments']['writer'][0]; // artist from any/all available tag formats
// $gen = @$ThisFileInfo['quicktime']['comments']['genre'][0]; // artist from any/all available tag formats
break;
case ".m4b";
$tit = @$ThisFileInfo['quicktime']['comments']['title'][0]; // artist from any/all available tag formats
$alb = @$ThisFileInfo['quicktime']['comments']['album'][0]; // artist from any/all available tag formats
$art = @$ThisFileInfo['quicktime']['comments']['artist'][0]; // artist from any/all available tag formats
$com = @$ThisFileInfo['quicktime']['comments']['comment'][0]; // artist from any/all available tag formats
$cmp = @$ThisFileInfo['quicktime']['comments']['writer'][0]; // artist from any/all available tag formats
// $gen = @$ThisFileInfo['quicktime']['comments']['genre'][0]; // artist from any/all available tag formats
break;
case ".mov";
$tit = @$ThisFileInfo['quicktime']['comments']['title'][0]; // artist from any/all available tag formats
$alb = @$ThisFileInfo['quicktime']['comments']['album'][0]; // artist from any/all available tag formats
$art = @$ThisFileInfo['quicktime']['comments']['artist'][0]; // artist from any/all available tag formats
$com = @$ThisFileInfo['quicktime']['comments']['comment'][0]; // artist from any/all available tag formats
$cmp = @$ThisFileInfo['quicktime']['comments']['director'][0]; // artist from any/all available tag formats
// $gen = @$ThisFileInfo['quicktime']['comments']['genre'][0]; // artist from any/all available tag formats
break;
case ".asf";
$tit = @$ThisFileInfo['asf']['comments']['title'][0]; // artist from any/all available tag formats
$alb = @$ThisFileInfo['asf']['comments']['album'][0]; // artist from any/all available tag formats
$art = @$ThisFileInfo['asf']['comments']['artist'][0]; // artist from any/all available tag formats
$com = @$ThisFileInfo['asf']['comments']['comment'][0]; // artist from any/all available tag formats
$cmp = @$ThisFileInfo['asf']['comments']['composer'][0]; // artist from any/all available tag formats
$gen = @$ThisFileInfo['asf']['comments']['genre'][0]; // artist from any/all available tag formats
break;
case ".wma";
$tit = @$ThisFileInfo['asf']['comments']['title'][0]; // artist from any/all available tag formats
$alb = @$ThisFileInfo['asf']['comments']['album'][0]; // artist from any/all available tag formats
$art = @$ThisFileInfo['asf']['comments']['artist'][0]; // artist from any/all available tag formats
$com = @$ThisFileInfo['asf']['comments']['comment'][0]; // artist from any/all available tag formats
$cmp = @$ThisFileInfo['asf']['comments']['composer'][0]; // artist from any/all available tag formats
$gen = @$ThisFileInfo['asf']['comments']['genre'][0]; // artist from any/all available tag formats
break;
default;
$tit = $file; // artist from any/all available tag formats
}
$this->title = $tit;
$this->composer = $cmp;
$this->album = $alb;
$this->comment = $com;
$this->copyright = $cmp;
$this->artist = $art;
$this->mime_type = $mim;
return true;
} else {
return false; // file doesn't exist
}
}
}
function getDir($mp3Dir, $supported_file_types) {
// Returns directory as array[file]=date in newest to oldest order
$dirArray = array();
$diskdir = "./$mp3Dir/";
if (is_dir($diskdir)) {
$dh = opendir($diskdir);
while (($file = readdir($dh)) != false ) {
if (filetype($diskdir . $file) == "file" && $file[0] != ".") {
$fext = strrchr(strtolower($file), ".");
if (strpos ($supported_file_types, $fext) > 0) {
$ftime = filemtime($mp3Dir."/".$file);
$dirArray[$file] = $ftime;
}
}
}
closedir($dh);
}
asort($dirArray);
$dirArray = array_reverse($dirArray);
return $dirArray;
}
?>
Subscribe to Our Podcasts
$rootMP3URL = "http://" . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
$rootMP3URL = substr($rootMP3URL, 0, strrpos ($rootMP3URL, "/"));
$feedurl = $rootMP3URL."/dircaster.php";
echo "Copy this for iPodder --> $feedurl";
# echo ("".$feedurl."");
?>
(if you are using drag the "podcast" logo onto the open Doppler window. If you are using use the link URL above to copy and paste the URL to add the feed manually. )
Back to the podcast list
About Podcasting
About podcasting
Podcasting became popular back in 2004 as a method of publishing sound files to the Internet, allowing users to subscribe to a feed and receive new audio files automatically. Podcasting is distinct from other types of audio content delivery because of its subscription model, which uses the RSS 2.0 file format. This technique has enabled independent producers to create self-published, syndicated "radio" shows, and has given broadcast radio programs a new distribution channel.
Differences from traditional broadcasting
Unlike radio programs, which are generally listened to as they are broadcast, podcasts are transferred to the listener as a digital media file and are consumed at the listener's convenience, similar to a VCR playing back a pre-recorded TV show.
From the producer's perspective, podcasts cannot have live participation or immediately reach large audiences as quickly as radio can. However, podcasting allows individuals to easily transmit content worldwide without the need for expensive equipment or licenses, and is frequently used together with an online interactive bulletin board or blog.
Back to the podcast list