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

2024-04-10 04:32

本文主要是介绍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];

这篇关于AVPlayer 播放在线视频和本地文件(数据库)设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/890070

相关文章

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad

postgresql数据库基本操作及命令详解

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴... 目录1. 连接 PostgreSQL 数据库2. 创建数据库3. 查看当前数据库4. 查看所有数据库

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)