Usage
    (no version information, might be only in CVS)
Usage -- 
    Examples on using the ogg:// wrapper.
   
Examples
    
Example 1. Reading an OGG/Vorbis file 
<?php dl("oggvorbis.so");
  /* By default, ogg:// will decode to Signed 16-bit Little Endian */ $fp = fopen('ogg://myaudio.ogg', 'r');
  /* Collect some information about the file. */ $metadata = stream_get_meta_data($fp);
  /* Inspect the first song (usually the only song,     but OGG/Vorbis files may be chained) */ $songdata = $metadata['wrapper_data'][0];
  echo "OGG/Vorbis file encoded by: {$songdata['vendor']}\n."; echo "  {$songdata['channels']} channels of {$songdata['rate']}Hz sampling encoded at {$songdata['bitrate_nominal']}bps.\n"; foreach($songdata['comments'] as $comment) {     echo "  $comment\n"; }
  while ($audio_data = fread($fp, 8192)) {   /* Do something with the PCM audio we're extracting from the OGG.      Copying to /dev/dsp is a good target on linux systems,       just remember to setup the device for your sampling mode first. */ }
  fclose($fp);
  ?>
 |  
  | 
   
    
Example 2. Encode an audio file to OGG/Vorbis 
<?php dl('oggvorbis.so');
  $context = stream_context_create(array('ogg'=>array(              'pcm_mode' => OGGVORBIS_PCM_S8,  /* Signed 8bit audio */              'rate' => 44100,                 /* 44kHz CD quality */              'bitrate' => 0.5,                /* Midquality VBR */              'channels' => 1,                 /* Mono */              'serialno' => 12345)));          /* Unique within our stream */
  /* Open file for appending.  This will "chain" a second OGG stream at the end of the first. */ $ogg = fopen('ogg://mysong.ogg', 'a', false, $context);
  $pcm = fopen('mysample.pcm', 'r');
  /* Compress the raw PCM audio from mysample.pcm into mysong.ogg */ stream_copy_to_stream($pcm, $ogg);
  fclose($pcm); fclose($ogg); ?>
 |  
  |