Skip to content

oneInstance

Sidney edited this page Dec 5, 2017 · 1 revision

使用一个实例进行多次播放

描述

支持使用一个实例进行多次播放,不需要在每次播放都创建新的播放器实例

使用方法

  1. 当需要停止当前播放行为时,需要调用shutdown方法并且释放player_uMediaPlayer.player = nil

  2. 调用[_mediaPlayer showMediaPlayer:path urltype:urlType frame:CGRectNull view:self.view completion:nil]重新初始化播放器即可;

说明

  • 支持1.6.2及以后版本
  • 使用shutdown方法停止播放时,默认保留上个节目的最后一帧,如需去除最后一帧画面,可使用[_uMediaPlayer.player.view removeFromSuperview];去除;
  • 使用一个实例进行多次播放时,每次播放都会发送播放过程中的消息通知

示例代码

//首次播放,创建播放器实例
NSString *playString = @"rtmp://live.hkstv.hk.lxdns.com/live/hks";
UrlType urltype = UrlTypeLive;
    
_uMediaPlayer = [[UCloudMediaPlayer alloc] init];
[_uMediaPlayer showMediaPlayer:playString urltype:urltype frame:CGRectNull view:self.videoView completion:^(NSInteger defaultNum, NSArray *data) {
    // 设置player的相关controller,具体可详见demo中的PlayerManager
    // 关于uMediaPlayer.player相关配置,请在此设置,外部设置失败
    weakSelf.uMediaPlayer.player.scalingMode = MPMovieScalingModeAspectFit;
}];

//使用一个实例再次播放
[self.uMediaPlayer.player shutdown];
[self.uMediaPlayer.player.view removeFromSuperview];
self.uMediaPlayer.player = nil;

NSString *playString = @"https://mediademo.ufile.ucloud.com.cn/ucloud_promo_140s.mp4";
UrlType urltype = UrlTypeHttp;
[self.uMediaPlayer showMediaPlayer:playString urltype:urltype frame:CGRectNull view:self.videoView completion:^(NSInteger defaultNum, NSArray *data) {

}];

//销毁播放器实例
[_uMediaPlayer.player shutdown];
_uMediaPlayer.player = nil;
_uMediaPlayer = nil;