2012-05-09 28 views
2

我們使用AVPlayer來顯示視頻流和隱藏字幕文本。有什麼方法可以修改隱藏式字幕(CC)文本的字體,文本顏色和其他屬性?我查看了AVPlayer文檔,似乎唯一可用的控件是打開或關閉CC。修改iOS中隱藏字幕的字體,textColor

請讓我知道是否有辦法實現這一點。

回答

0

從通過API查看我沒有看到一種方法來實現這一點。理論上,字幕應該顯示在某種像UILabel這樣的UIView實現中。如果是這種情況,您可以在建立播放器之前嘗試修改UILabel的外觀。

讓我知道,如果這沒有做任何事情:

[[UILabel appearance] setFontSize:20]; 
[[UILabel appearance] setColor:[UIColor redColor]]; 
+0

如何提取CC文本並顯示給一個標籤嗎?我們通過HTTP直播流獲取我們的流。 –

+0

您不會提取CC文本並創建自己的標籤。由於cc文本是由AVPlayer封裝的,因此我們只能設置全局外觀屬性來影響文本的呈現方式(如果AVPlayer完全使用UILabel)。我修改了一下代碼,然後將這些代碼粘貼到初始化播放器的位置,並查看它是否會影響CC文本。 –

+0

不,CC文本未呈現在標籤中。 –

3

iOS 6中推出AVTextStyleRule可用於影響字幕的屬性。文件似乎表明它們也適用於隱藏式字幕,但似乎並非如此。

 AVTextStyleRule *rule = [[AVTextStyleRule alloc]initWithTextMarkupAttributes:@{ 
          (id)kCMTextMarkupAttribute_RelativeFontSize : @(200), 
          (id)kCMTextMarkupAttribute_ForegroundColorARGB : @[ @1, @1, @0, @0 ]}]; 

    playerItem.textStyleRules = @[rule]; 

this tutorial on using WebVTT in HLS的詳細信息,字幕

+0

有人試過嗎? –

+0

我試過這個;它不適用於CEA 608/708隱藏字幕,但它確實適用於字幕。 –