IOS视频播放器VKVideoPlayer简单教程

VKVideoPlayer 是一个在 Viki iOS 应用里使用的视频播放器

主要特性:

  • 完全可定制的 UI
  • 任何大小乃至全屏
  • 支持字幕显示
  • 可定制的字幕显示风格
  • 支持 HTTP 直播流
  • 支持屏幕方向调整
  • Bulletproof event machine to easily integrate features like video ads
  • Lots of delegate callbacks for your own logging requirements

VKVideoPlayer是一个经过严格测试的Viki视频播放器,是一个可以处理视频播放的所有技术细节的简单插件。默认情况下,该库使用AVPlayer和AVPlayerItem类在VKVideoPlayerView上播放视频。它是通过进入一个实施VKVideoPlayerTrackProtocol协议的跟踪对象来实现的。默认视频播放器会创建AVPlayer和AVPlayerItem对象来播放视频。

具有一些改进功能:完全自定义UI;没有全屏限制(可设置任意大小);可以显示字幕(支持SRT)并可自定义;支持HTTP Live Streaming协议;支持方向改变,即使开启方向锁定;支持Bulletproof事件机制,可以很容易地集成视频广告等功能;可为日志需求进行delegate callbacks。

iOS视频播放器VKVideoPlayer

VKVideoPlayer用法教程

播放直播流

   
   
  1. VKVideoPlayerViewController *viewController = [[VKVideoPlayerViewController alloc] init];
  2. [self presentModalViewController:viewController animated:YES];
  3. [viewController playVideoWithStreamURL:[NSURL URLWithString:@"http://content.viki.com/test_ios/ios_240.m3u8"]];

常用方法

   
   
  1. self.player = [[VKVikiVideoPlayer alloc] initWithVideoPlayerView:[[VKVikiVideoPlayer alloc] init]];
  2. self.player.delegate = self;
  3. [self.view addSubview:self.player]
  4.  
  5. VKVideoPlayerView有简单的方法添加到视图.
  6.  
  7. - (void)addSubviewForControl:(UIView *)view;
  8. - (void)addSubviewForControl:(UIView *)view toView:(UIView*)parentView;
  9. - (void)addSubviewForControl:(UIView *)view toView:(UIView*)parentView forOrientation:(UIInterfaceOrientationMask)orientation;
  10.  
  11. //展示按钮
  12. [self.player.view addSubviewForControl:newButton toView:self.player.view forOrientation:UIInterfaceOrientationMaskLandscape];
  13.  
  14.  
  15. VKVideoPlayer的属性.
  16.  
  17. //这个属性可以改变的行为取向。如果UIViewController只有Portrait mode,把它设置为YES可以旋转屏幕。
  18. @property (nonatomic, assign) BOOL forceRotate;
  19.  
  20.  
  21. //当你旋转播放屏幕时,视频播放器视图将是这个大小。
  22. @property (nonatomic, assign) CGRect landscapeFrame;
  23. This property is used when rotate to Landscape by forceRotate. Video player view will be this frame size.
  24.  
  25.  关于字母
  26.  
  27.  要自定义字幕,有一些方法。改变字体大小,使用vksharedutility。有3个值。
  28.  // value accepts @0, @1, @2 or @3;
  29.  // @0 : Tiny
  30.  // @1 : Medium
  31.  // @2 : Large
  32.  // @3 : Huge
  33.  [VKSharedUtility setValue:@1 forKey:kVKSettingsSubtitleSizeKey];
  34.  
  35.  //或者你可以重写下面的方法来自定义标题样式。
  36.  
  37. - (DTCSSStylesheet*)captionStyleSheet:(NSString*)color {
  38. float fontSize = 1.3f;
  39. float shadowSize = 1.0f;
  40.  
  41. switch ([[VKSharedUtility setting:kVKSettingsSubtitleSizeKey] integerValue]) {
  42. case 1:
  43. fontSize = 1.5f;
  44. break;
  45. case 2:
  46. fontSize = 2.0f;
  47. shadowSize = 1.2f;
  48. break;
  49. case 3:
  50. fontSize = 3.5f;
  51. shadowSize = 1.5f;
  52. break;
  53. }
  54.  
  55. DTCSSStylesheet* stylesheet = [[DTCSSStylesheet alloc] initWithStyleBlock:[NSString stringWithFormat:@"body{
  56. text-align: center;
  57. font-size: %fem;
  58. font-family: Helvetica Neue;
  59. font-weight: bold;
  60. color: %@;
  61. text-shadow: -%fpx -%fpx %fpx #000, %fpx -%fpx %fpx #000, -%fpx %fpx %fpx #000, %fpx %fpx %fpx #000;
  62. vertical-align: bottom;
  63. }", fontSize, color, shadowSize, shadowSize, shadowSize, shadowSize, shadowSize, shadowSize, shadowSize, shadowSize, shadowSize, shadowSize, shadowSize, shadowSize]];
  64. return stylesheet;
  65. }

代理方法

   
   
  1. //vkvideoplayer已委托协议vkvideoplayerdelegate。您可以使用它为您的应用程序的日志记录或其他控件。
  2.  
  3. //这种方法被称为在改变状态之前。如果你还没有,你可以阻止视频播放器的状态改变。
  4. - (BOOL)shouldVideoPlayer:(VKVideoPlayer*)videoPlayer changeStateTo:(VKVideoPlayerState)toState;
  5.  
  6. //这种方法是在改变状态之前。
  7. - (void)videoPlayer:(VKVideoPlayer*)videoPlayer willChangeStateTo:(VKVideoPlayerState)toState;
  8.  
  9. //这种方法被称为改变状态。
  10. - (void)videoPlayer:(VKVideoPlayer*)videoPlayer didChangeStateFrom:(VKVideoPlayerState)fromState;
  11.  
  12. //此方法在载入视频之前被调用。如果视频不应该播放,你可以在它的交通流量之前阻止。
  13. - (BOOL)shouldVideoPlayer:(VKVideoPlayer*)videoPlayer startVideo:(id)track;
  14.  
  15. //这种方法是在开始视频之前调用的。你不能在这里停止视频。
  16. - (void)videoPlayer:(VKVideoPlayer*)videoPlayer willStartVideo:(id)track;
  17.  
  18. //这种方法是在启动视频后调用的。
  19. - (void)videoPlayer:(VKVideoPlayer*)videoPlayer didStartVideo:(id)track;
  20.  
  21. //在播放视频时,这种方法被称为每一秒。
  22. - (void)videoPlayer:(VKVideoPlayer*)videoPlayer didPlayFrame:(id)track time:(NSTimeInterval)time lastTime:(NSTimeInterval)lastTime;
  23.  
  24. //这种方法被称为完成播放视频。你可以开始播放下一段视频在这里。
  25. - (void)videoPlayer:(VKVideoPlayer*)videoPlayer didPlayToEnd:(id)track;
  26.  
  27. //这种方法被称为当用户做了一些行动。
  28. - (void)videoPlayer:(VKVideoPlayer*)videoPlayer didControlByEvent:(VKVideoPlayerControlEvent)event;
  29.  
  30. //这种方法被称为当用户更改的底部标题语言。
  31. - (void)videoPlayer:(VKVideoPlayer*)videoPlayer didChangeSubtitleFrom:(NSString*)fronLang to:(NSString*)toLang;
  32.  
  33. //这种方法被称为旋转动画之前。
  34. - (void)videoPlayer:(VKVideoPlayer*)videoPlayer willChangeOrientationTo:(UIInterfaceOrientation)orientation;
  35.  
  36. //这种方法被称为旋转动画后。
  37. - (void)videoPlayer:(VKVideoPlayer*)videoPlayer didChangeOrientationFrom:(UIInterfaceOrientation)orientation;
  38.  
  39. //调用此方法时发生错误。
  40. - (void)handleErrorCode:(VKVideoPlayerErrorCode)errorCode track:(id)track customMessage:(NSString*)customMessage;
  41.  
通过用户友好的播放器管理来自VK的音乐或者即使使用最小化的浏览器也能工作的键盘快捷键! 通过用户友好的播放器管理来自VK的音乐,或者即使在浏览器最小化的情况下也可以使用键盘快捷键! 感谢这个播放器,您可以轻松管理来自VK的音乐,而不会分心,甚至在VK和浏览器之外。除了切换音频和倒带的基本功能外,播放器还支持添加“我的录音”,包括随机顺序和重复。 您最多可以配置4个热键组合,并在其上设置以下操作之一(在括号中为默认设置):   - 播放/暂停(组合1)   - 下一个录音(组合2)   - 以前的音频录制   - 添加音频录制   - 重复录音   - 随机顺序   - 录音信息(组合3)   - 静音所有标签(组合4) 您可以根据自己的喜好轻松配置这些默认密钥。为此,请转到chrome:// extensions / configureCommands页面,找到扩展名并配置热键,不要忘记将其设置为“全局”,以便在浏览器最小化时管理音乐。 警告! Chrome不提供在热键设置(chrome:// extensions / configureCommands)中显示该命令的功能,该功能被设置为特定的组合,因为只有“组合1”将被写入以查看4种组合中的任何一种在分机设置 - 要做到这一点,打开分机,并点击齿轮。 更改列表: 2.0 扩展是完全重新设计,设计被改变,新的功能被添加和错误修复 2.1 添加设置页面,您可以在其中选择四个组合键中的每一个将执行的操作。还在通知中添加了两个按钮,您可以自定义该功能。 2.2 增加了控制音量的功能,以及关闭当前音频通知的功能。在设置页面上添加了热键设置的说明,刚刚在那里显示已组态的组合。错误修复 支持语言:русский
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值