#import "ViewController.h"
#import <AVFoundation/AVFoundation.h> //需要导入框架
#define EYScreenWidth [[UIScreen mainScreen] bounds].size.width
#define EYScreenHeight [[UIScreen mainScreen] bounds].size.height
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//1.从mainBundle获取test.mp4的具体路径
NSString * path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp4"];
//2.文件的url
NSURL * url = [NSURL fileURLWithPath:path];
//3.根据url创建播放器(player本身不能显示视频)
AVPlayer * player = [AVPlayer playerWithURL:url];
//4.根据播放器创建一个视图播放的图层
AVPlayerLayer * layer = [AVPlayerLayer playerLayerWithPlayer:player];
//5.设置图层的大小
layer.frame = CGRectMake(0, 0, EYScreenWidth, EYScreenHeight);
//6.添加到控制器的view的图层上面
[self.view.layer addSublayer:layer];
//7.开始播放
[player play];
}
@end
#import <UIKit/UIKit.h> @interface ViewController : UIViewController //视频流的路径,外界传过来的视频流的地址 @property (nonatomic, copy) NSString * rtspPath; @end
#import "ViewController.h"
#import <MobileVLCKit/MobileVLCKit.h>
//屏幕宽高的宏
#define EYScreenWidth [[UIScreen mainScreen] bounds].size.width
#define EYScreenHeight [[UIScreen mainScreen] bounds].size.height
@interface ViewController ()
//视频播放
@property (nonatomic, strong) VLCMediaPlayer *player;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//1.创建播放视图,模拟器测试会有问题!!!真机可以正常播放
UIView *videoView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, EYScreenWidth, EYScreenHeight)];
[self.view addSubview:videoView];
//2.创建播放器
self.player = [[VLCMediaPlayer alloc] initWithOptions:nil];
//3.设置播放图层
self.player.drawable = videoView;
//4.设置播放的路径
self.player.media = [VLCMedia mediaWithURL:[NSURL URLWithString:self.rtspPath]];
//5.开始播放
[self.player play];
}
- (void)dealloc
{
if (self.player.isPlaying) {
[self.player stop];
}
}
@end
#import <UIKit/UIKit.h> @interface ViewController : UIViewController //视频流的路径 @property (nonatomic, copy) NSString * rtspPath; @end
#import "ViewController.h"
#import <IJKMediaFramework/IJKMediaFramework.h>
// 宏定义
#define EYScreenBounds [UIScreen mainScreen].bounds
@interface ViewController ()
@property (nonatomic, strong) IJKFFMoviePlayerController * ijkPlayer;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//初始化播放控制器
self.ijkPlayer = [[IJKFFMoviePlayerController alloc] initWithContentURLString:self.rtspPath withOptions:nil];
//设置打印级别, 测试发现没有什么效果
[IJKFFMoviePlayerController setLogLevel:k_IJK_LOG_DEBUG];
//设置控制器的view大小
self.ijkPlayer.view.frame = EYScreenBounds;
//控制器的view添加到自身的view上面
[self.view addSubview:self.ijkPlayer.view];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if (!self.ijkPlayer.isPlaying) {
//播放
[self.ijkPlayer prepareToPlay];
}
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
if (self.ijkPlayer.isPlaying) {
//关闭
[self.ijkPlayer shutdown];
}
}
@end
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有