Как изменить шрифт, используемый компонентом FLVPlaybackCaptioning для субтитров?

Как установить шрифт, используемый компонентом FLVPlaybackCaptioning для субтитров? Использование свойства стиля текстовой области ничего не дает, а использование TextFormat делает текст пустым, даже если шрифт был встроен.


person Simon    schedule 16.10.2008    source источник


Ответы (2)


Кажется, шрифт, как и другие свойства текста, указаны в XML-файле, где читаются субтитры (это из документация):

<?xml version="1.0" encoding="UTF-8"?>
  <tt xml:lang="en" xmlns="http://www.w3.org/2006/04/ttaf1"  xmlns:tts="http://www.w3.org/2006/04/ttaf1#styling">
      <head>
          <styling>
              <style id="1" tts:textAlign="right"/>
              <style id="2" tts:color="transparent"/>
              <style id="3" style="2" tts:backgroundColor="white"/>
              <style id="4" style="2 3" tts:fontSize="20"/>
          </styling>
      </head>
      <body>
           <div xml:lang="en">
              <p begin="00:00:00.50" dur="500ms">Four score and twenty years ago</p>
              <p begin="00:00:02.50"><span tts:fontFamily="monospaceSansSerif,proportionalSerif,TheOther"tts:fontSize="+2">our forefathers</span> brought forth<br /> on this continent</p>
              <p begin="00:00:04.40" dur="10s" style="1">a <span tts:fontSize="12 px">new</span> <span tts:fontSize="300%">nation</span></p>
              <p begin="00:00:06.50" dur="3">conceived in <span tts:fontWeight="bold" tts:color="#ccc333">liberty</span> <span tts:color="#ccc333">and dedicated to</span> the proposition</p>
              <p begin="00:00:11.50" tts:textAlign="right">that <span tts:fontStyle="italic">all</span> men are created equal.</p>
     <p begin="15s" style="4">The end.</p>
          </div>    
      </body>
  </tt>

Так что, может быть, компонент не хочет, чтобы вы переопределяли их?

person hasseg    schedule 16.10.2008

// Создайте прослушиватель для вашего экземпляра FLVPlaybackCaptioning, прослушивая создание текстового поля/цели, например.

myFLVPlybkcap.addEventListener(CaptionTargetEvent.CAPTION_TARGET_CREATED, captionTargetCreatedHandler);

// Затем, когда это произойдет, установите 'defaultTextFormat' текстового поля на свой собственный...

private function captionTargetCreatedHandler(e:CaptionTargetEvent):void{
  var myTextFormat:TextFormat = new TextFormat();
  myTextFormat.font = "Arial";
  myTextFormat.color = 0x00FF00;
  myTextFormat.size = 18;
  (e.captionTarget as TextField).defaultTextFormat = myTextFormat; 
}
person Trevor Boyle    schedule 18.05.2010