Jen*_*ers 9 objective-c avplayerviewcontroller tvos
在tvOS用户向下滑动遥控器时显示的菜单中,在其他电影应用上显示"字幕,音频和信息",如何使用按钮创建另一个选项卡?
以下是我的代码:
AVMutableMetadataItem *titleMetadataItem = [[AVMutableMetadataItem alloc] init];
titleMetadataItem.locale = NSLocale.currentLocale;
titleMetadataItem.key = AVMetadataCommonKeyTitle;
titleMetadataItem.keySpace = AVMetadataKeySpaceCommon;
titleMetadataItem.value = @"The Title";
NSArray *externalMetadata = [[NSArray alloc] initWithObjects:titleMetadataItem, nil];
_player.player.currentItem.externalMetadata = externalMetadata;
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何在向下滑动菜单中创建一个按钮,AVPlayerViewController以便用户可以在关闭或打开字幕之间切换?我没有srt files嵌入视频中.相反,我有一个单独的subtitle parser,我在标签上显示它.我能够获取信息部分以显示文本,但有没有办法添加按钮?
或者我如何为视频添加字幕选项?这不起作用:
_player.requiresFullSubtitles = YES;
谢谢!
只有在字幕嵌入到 HLS 流中时才会加载字幕,这也是在向下滑动菜单上AVPlayerViewController显示“字幕”选项卡的唯一合法方式。
我构建了一个实用程序,用于将VTT字幕动态添加到HLS (m3u8) 流,称为ACHLSCaptioningServer( https://github.com/acotilla91/ACHLSCaptioningServer )。
注意:如果您只能访问 SRT 文件,则需要找到一种将 SRT 转换为 VTT 的方法。
如何使用:
NSURL *origStreamURL = your_original_stream-url;
NSURL *vttFileURL = your_vtt_file_url;
NSURL *streamURL = [[ACHLSCaptioningServer sharedInstance] getCaptionedHLSStreamFromStream:origStreamURL vttURL:vttFileURL];
//
// play stream
//
AVURLAsset *videoAsset = [[AVURLAsset alloc] initWithURL:streamURL options:nil];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:videoAsset];
AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem];
AVPlayerViewController *avPlayerController = [[AVPlayerViewController alloc] initWithNibName:nil bundle:nil];
[avPlayerController setPlayer:player];
[avPlayerController.view setFrame:self.view.frame];
[self addChildViewController:avPlayerController];
[self.view addSubview:avPlayerController.view];
[avPlayerController didMoveToParentViewController:self];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1080 次 |
| 最近记录: |