AVPlayer 播放在线视频和本地文件(数据库)设置

首先使用AVPlayer 必须导入框架:
AVFoundation 以及 头文件:
#<MediaPlayer/MediaPlayer.h>
两者的主要区别在路径的初始化:

1、播放本地视频(数据库数据)

     titleLabel.text = [NSString stringWithFormat:@"%@",currentMusicModel.audio_name];
        [img sd_setImageWithURL:[NSURL URLWithString:currentMusicModel.image] placeholderImage:[UIImage imageNamed:@"default_172"]];
        [bgImg sd_setImageWithURL:[NSURL URLWithString:currentMusicModel.image] placeholderImage:[UIImage imageNamed:@"default_172"]];

        //读取数据库音频资源
        NSString *sqlstr = [NSString stringWithFormat:@"where down_audioid = '%@'",musicid];
        // 这里执行创建数据库,以后的shareDatabase系列都属于获取当前的数据库引用
        JQFMDB *db = [JQFMDB shareDatabase:SQL_NAME path:SQL_PATH];
        NSArray *voicelist = [db jq_lookupTable:SQL_VOICE dicOrModel:[HGSQLModel class] whereFormat:sqlstr];
        NSLog(@"voicelist--%@",voicelist);

        [voicelist enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            sqlModel = (HGSQLModel *)obj;

        }];
        if (voicelist.count > 0) {

            //读取某个文件
            NSString *filePath = [SQL_PATH stringByAppendingString:sqlModel.down_filename];

            NSURL *sourceMovieUrl = [NSURL fileURLWithPath:filePath];

            AVAsset *movieAsset = [AVURLAsset URLAssetWithURL:sourceMovieUrl options:nil];
            playerItem = [AVPlayerItem playerItemWithAsset:movieAsset];

        }
        [self.player replaceCurrentItemWithPlayerItem:playerItem];
        [playerItem addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:nil];// 监听status属性
        [self monitoringPlayback:playerItem];// 监听播放状态

2、播放在线视频

 //使用playerItem获取视频的信息,当前播放时间,总时间等
    AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:[NSURLURLWithString:@"在线视频路径"]];
    //player是视频播放的控制器,可以用来快进播放,暂停等
    AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem];
    AVPlayerLayer *playerLayer = [AVPlayerLayerplayerLayerWithPlayer:_LGCustomMoviePlayerController.player];
    playerLayer.videoGravity = AVLayerVideoGravityResizeAspect;
    //调用一下setter方法
    [_LGCustomMoviePlayerController setPlayer:player];
    [_LGCustomMoviePlayerController.player play];
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值