0

我正在尝试为现有电影添加字幕,除了字幕轨道的背景应该是透明的之外,一切似乎都按预期工作。

MediaHandler media = GetMediaHandler([[subtitlesTrack media] quickTimeMedia]);
MediaSetGraphicsMode(media, graphicsModeStraightAlpha, NULL);

我已经尝试过这里找到的上述代码,但我无法使用 GetMediaHandler 和 MediaSetGraphicsMode 函数。也许我错过了一些包括。

如果可能的话,我宁愿只使用 QTKit 框架。

4

1 回答 1

1

如果您在 32 位 Mac 应用程序中使用此代码作为示例,要使 alpha 透明度正常工作,MediaSetGraphicsMode() 的第二个参数必须是 graphicsModePreBlackAlpha。

如果您使用 graphicsModeStraightAlpha,压缩到 QuickTime 媒体后的视频帧将没有 Alpha 通道,至少在 Mac OS 10.10.5 下是这样。

您还需要确保使用支持 Alpha 通道的视频编解码器 - 并非所有通道都支持。

于 2016-12-13T07:15:18.227 回答