コード例 #1
0
 /**
  * Generates and returns the html markup used to represent an audio media work.
  *
  * @access private
  * @return string embed markup
  */
 private function _get_audio_embed_markup()
 {
     $markup = '<audio id="' . $this->media_work->id() . '" preload="metadata" ';
     if ($this->show_controls) {
         $markup .= 'controls="controls" ';
     }
     if ($this->autostart) {
         $markup .= 'autoplay="autoplay" ';
     }
     $markup .= '>';
     $es = new entity_selector();
     $es->add_type(id_of('av_file'));
     $es->add_right_relationship($this->media_work->id(), relationship_id_of('av_to_av_file'));
     $es->set_order('av.mime_type ASC');
     // 'mpeg' comes before 'ogg'
     $this->media_files = $es->run_one();
     $mp3 = false;
     foreach ($this->media_files as $file) {
         $markup .= '<source src="' . $this->_match_protocol($file->get_value('url')) . '" type="' . $file->get_value('mime_type') . '" />' . "\n";
         if ($file->get_value('mime_type') == 'audio/mpeg') {
             $mp3 = $file;
         }
     }
     // Fall back to flash player
     if ($mp3) {
         $avd = new reasonAVDisplay();
         $avd_autoplay = $this->autostart ? 'true' : 'false';
         $avd->set_parameter('flv', 'autostart', $avd_autoplay);
         if (!$this->show_controls) {
             $avd->set_parameter('flv', 'controlbar', '0');
         }
         $mp3->set_value('url', $this->_match_protocol($mp3->get_value('url')));
         $avd_markup = $avd->get_embedding_markup_For_flash_video($mp3);
         $markup .= $avd_markup;
         // return $avd_markup;  // uncomment this if testing the flash player
     }
     $markup .= '</audio>' . "\n";
     return $markup;
 }
コード例 #2
0
 /**
  * Returns the html markup that can embed the media on a page.
  * @return string
  */
 public function get_embed_markup()
 {
     if (!$this->media_work) {
         return '';
     }
     if ($this->current_media_file) {
         $avd = new reasonAVDisplay();
         $height = $this->get_embed_height();
         $width = $this->get_embed_width();
         $avd->set_video_dimensions($width, $height);
         $avd->set_audio_dimensions(0, 0);
         if (!$this->show_controls) {
             $avd->set_parameter('flv', 'controlbar', 'false');
             $avd->set_parameter('qt', 'controller', '0');
             $avd->set_parameter('wmv', 'ShowControls', 'false');
         }
         if (!$this->autostart) {
             $avd->disable_automatic_play_start();
         }
         if ($image_info = reason_get_media_placard_image_info($this->current_media_file)) {
             $avd->set_placard_image($image_info['url']);
             $avd->set_placard_image_dimensions($image_info['width'], $image_info['height']);
         }
         $this->latest_tech_note = $avd->get_tech_note($this->current_media_file);
         $embed_markup = $avd->get_embedding_markup($this->current_media_file);
         return $embed_markup;
     } else {
         return '';
     }
 }