控制隱藏字幕樣式

您可以使用ClosedCaptionStyles類別,提供隱藏字幕軌道的樣式資訊。 如此可設定播放器所顯示之隱藏字幕的樣式。

此類別封裝隱藏字幕樣式資訊,例如字型類型、大小、色彩和背景不透明度。 關聯的幫助類ClosedCaptionStylesBuilder便於使用隱藏字幕樣式設定。

設定隱藏字幕樣式

您可以使用TVSDK方法來設定隱藏字幕文字的樣式。

  1. 等待MediaPlayer至少擁有PREPARED狀態(請參閱等待有效狀態)。

  2. 若要變更樣式設定,請執行下列其中一項作業:

    • 使用ClosedCaptionStylesBuilder幫助類(在後台運行ClosedCaptionStyles)。
    • 直接使用ClosedCaptionStyles類。
注意

設定隱藏字幕樣式是非同步操作,因此變更可能需要數秒鐘才會顯示在畫面上。

隱藏字幕樣式選項

您可以使用ClosedCaptionStyles類別,提供隱藏字幕音軌的樣式資訊。 如此可設定播放器所顯示之隱藏字幕的樣式。

public function TextFormat(
   font:String = default,
   size:String = default,
   fontEdge:String = default,
   fontColor:String = default,
   backgroundColor:String = default,
   fillColor:String = default,
   edgeColor:String = default,
   fontOpacity:int,
   backgroundOpacity:int,
   fillOpacity:int)
秘訣

在定義預設值的選項(例如DEFAULT)中,該值是指最初指定標題時的設定。

格式 說明
字型

字型類型。

只能設定為由 ClosedCaptionStyles.FONT 陣列定義的值,並表示例如帶有或不帶有序列的單間隔。 public static const FONT :Array = [  AVCaptionStyle.DEFAULT,  AVCaptionStyle.MONOSPACE_WITH_SERIFS,  AVCaptionStyle.MONOSPACED_WITHOUT_SERIFS,  AVCaptionStyle.PROPORTIONAL_WITH_SERIFS,  AVCaptionStyle.PROPORTIONAL_WITHOUT_SERIFS,  AVCaptionStyle.CASUAL,  AVCaptionStyle.CURSIVE,  AVCaptionStyle.SMALL_CAPITALS  ];

提示: 裝置上的實際可用字型可能會有所不同,並會視需要使用替代。 單空間與serifs通常用作替代,儘管這種替代可以是系統特定的。

大小

字幕大小。

只能設定為由 ClosedCaptionStyles.FONT_SIZE 陣列定義的值:

  • -標準尺寸
  • LARGE -大約30%(中)
  • 型——大約比中型小30%
  • DEFAULT -標題的預設大小;與介質相同

提示: 您可以變更 DefaultMediaPlayer.ccStyles setter 函式的size參數,以變更WebVTT標題的字型大小。

字型邊緣

用於字型邊緣的效果,例如凸起或無。

只能設定為由 ClosedCaptionStyles.FONT_EDGE 陣列定義的值。 public static const FONT_EDGE :Array = [     AVCaptionStyle.DEFAULT,     AVCaptionStyle.NONE,     AVCaptionStyle.RAISED,     AVCaptionStyle.DEPRESSED,     AVCaptionStyle.UNIFORM,     AVCaptionStyle.LEFT_DROP_SHADOW,     AVCaptionStyle.RIGHT_DROP_SHADOW  ];

字型顏色

字型顏色。

只能設定為由 ClosedCaptionStyles.COLOR 陣列定義的值。 public static const COLOR :Array = [     AVCaptionStyle.DEFAULT,     AVCaptionStyle.BLACK,     AVCaptionStyle.GRAY,     AVCaptionStyle.WHITE,     AVCaptionStyle.BRIGHT_WHITE,     AVCaptionStyle.RED,     AVCaptionStyle.DARK_RED,     AVCaptionStyle.BRIGHT_RED,     AVCaptionStyle.GREEN,     AVCaptionStyle.DARK_GREEN,     AVCaptionStyle.BRIGHT_GREEN,     AVCaptionStyle.BLUE,     AVCaptionStyle.DARK_BLUE,     AVCaptionStyle.BRIGHT_BLUE,     AVCaptionStyle.YELLOW,     AVCaptionStyle.DARK_YELLOW,     AVCaptionStyle.BRIGHT_YELLOW,     AVCaptionStyle.MAGENTA,     AVCaptionStyle.DARK_MAGENTA,     AVCaptionStyle.BRIGHT_MAGENTA,     AVCaptionStyle.CYAN,     AVCaptionStyle.DARK_CYAN,     AVCaptionStyle.BRIGHT_CYAN   ];

邊緣顏色

邊緣效果的顏色。

可以設定為任何可用於字型顏色的值。

背景顏色

背景字元儲存格顏色。

只能設定為字型顏色可用的值。

填色顏色

文本所在窗口的背景顏色。

可以設定為任何可用於字型顏色的值。

重要: 這不適用於WebVTT標題,因為WebVTT不使用此功能。

字型不透明度

文字的不透明度。

以0(完全透明)到100(完全不透明)的百分比表示。 字型的DEFAULT_ OPACITY為100。

背景不透明度

背景字元儲存格的不透明度。

以0(完全透明)到100(完全不透明)的百分比表示。 背景的DEFAULT_ OPACITY為100。

填滿不透明度

標題視窗背景的不透明度。

以0(完全透明)到100(完全不透明)的百分比表示。 填色的DEFAULT_ OPACITY為0。

範例:標題格式

您可以指定隱藏字幕格式。

範例1:明確指定格式值

private function onStatusChanged(event:MediaPlayerStatusChangeEvent):void {
    var formatBuilder:TextFormatBuilder = new TextFormatBuilder();
    formatBuilder.font = Font.DEFAULT,
    formatBuilder.fontSize = FontSize.DEFAULT,
    formatBuilder.fontEdge = FontEdge.DEFAULT,
    formatBuilder.fontColor = Color.DEFAULT,
    formatBuilder.backgroundColor = Color.DEFAULT,
    formatBuilder.fillColor = Color.DEFAULT,
    formatBuilder.edgeColor = Color.DEFAULT,
    formatBuilder.fontOpacity = .DEFAULT_OPACITY,
    formatBuilder.backgroundOpacity = Font.DEFAULT_OPACITY,
    formatBuilder.fillOpacity = TextFormat.DEFAULT_OPACITY
    mediaPlayer.set CCStyle(formatBuilder.toTextFormat());
}

範例2:在參數中指定格式值

/**
* Constructor using parameters to initialize a TextFormat.
*
* @param font
* The desired font.
* @param fontSize
* The desired text size.
* @param fontEdge
* The desired font edge.
* @param fontColor
* The desired font color.
* @param backgroundColor
* The desired background color.
* @param fillColor
* The desired fill color.
* @param edgeColor
* The desired color to draw the text edges.
* @param fontOpacity
* The desired font opacity.
* @param backgroundOpacity
* The desired background opacity.
* @param fillOpacity
* The desired fill opacity.
*/
public function TextFormatBuilder(font:Font, fontSize:FontSize, fontEdge:FontEdge,
                                  fontColor:Color, backgroundColor:Color,
                                  fillColor:Color, edgeColor:Color, fontOpacity:int,
                                  backgroundOpacity:int, fillOpacity:int);
/**
* Creates a TextFormat with the parameters supplied to this builder.
*/
public function toTextFormat():TextFormat;
...

本頁內容