如果出现下图错误,将对应文件的第38行代码注释掉就行了!

再次运行就是OK了!!!
如果不好使尝试将ViewController.m----->ViewController.mm
如果上面的路径是本地路径的话,是可以播放本地视频的!!!
方式二: IJKMediaFramework
第一步: 下载IJKMediaFramework
1. 可以去百度官网地址,上面有详细的编译步骤,GitHub上面也有详细的教程!!! -->之后直接进行第三步!!!
2. 我已经编译好了 真机和模拟器都可以使用的:IJKMediaFramework
链接: https://www.easck.com/s/1o8G4ETG密码: 3cbr
第二步: 将下载下来的IJK.zip解压,IJK文件夹中的
1、IJKMediaFramework.framework
2、libcrypto.a
3、librtmp.a
4、libssl.a
总共4个拖入到你的工程中
第三步: 编写代码
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
//视频流的路径
@property (nonatomic, copy) NSString * rtspPath;
@end
ViewController.m
#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
注意点:方式一和方式二只能使用一个,因为他们两个会有冲突,暂时没有找到解决方案!!!(个人感觉应该是方式二中的.a与系统的.tbd有冲突)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持ASPKU。
注:相关教程知识阅读请移步到IOS开发频道。










