Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_25606643
ijkplayer
提交
26856df7
I
ijkplayer
项目概览
qq_25606643
/
ijkplayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
ijkplayer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
26856df7
编写于
9月 25, 2013
作者:
Z
Zhang Rui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
IJKFFPlayerController: dispatch event to delegate
上级
56fbec73
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
74 addition
and
95 deletion
+74
-95
ios/IJKMediaDemo/IJKMediaDemo/IJKVideoViewController.h
ios/IJKMediaDemo/IJKMediaDemo/IJKVideoViewController.h
+1
-1
ios/IJKMediaDemo/IJKMediaDemo/IJKVideoViewController.m
ios/IJKMediaDemo/IJKMediaDemo/IJKVideoViewController.m
+5
-5
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerController.m
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerController.m
+25
-55
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerDef.h
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerDef.h
+0
-33
ios/IJKMediaPlayer/IJKMediaPlayer/IJKMediaPlayback.h
ios/IJKMediaPlayer/IJKMediaPlayer/IJKMediaPlayback.h
+43
-1
未找到文件。
ios/IJKMediaDemo/IJKMediaDemo/IJKVideoViewController.h
浏览文件 @
26856df7
...
...
@@ -10,7 +10,7 @@
@class
IJKMediaControl
;
@interface
IJKVideoViewController
:
UIViewController
@interface
IJKVideoViewController
:
UIViewController
<
IJKMediaPlaybackDelegate
>
@property
(
atomic
,
retain
)
id
<
IJKMediaPlayback
>
player
;
...
...
ios/IJKMediaDemo/IJKMediaDemo/IJKVideoViewController.m
浏览文件 @
26856df7
...
...
@@ -42,19 +42,19 @@
// NSURL *theMovieURL = [NSURL URLWithString:@"http://edge.v.iask.com/113820563.hlv?KID=sina,viask&Expires=1380124800&ssig=iswfgpZ1Jp"];
// NSURL *theMovieURL = [NSURL URLWithString:@"http://edge.v.iask.com/115380070.hlv?KID=sina,viask&Expires=1380124800&ssig=s5khawIcuO"];
NSURL
*
theMovieURL
=
[
NSURL
URLWithString
:
@"http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"
];
// self.player = [[IJKMPMoviePlayerController alloc] initWithContentURL:theMovieURL];
self
.
player
=
[[
IJKFFPlayerController
alloc
]
initWithContentURL
:
theMovieURL
];
[
self
.
player
.
view
setAutoresizingMask
:
UIViewAutoresizingFlexibleWidth
|
UIViewAutoresizingFlexibleHeight
];
[
self
.
view
setAutoresizesSubviews
:
YES
];
self
.
player
=
[[
IJKFFPlayerController
alloc
]
initWithContentURL
:
theMovieURL
];
self
.
player
.
playbackDelegate
=
self
;
self
.
player
.
view
.
autoresizingMask
=
UIViewAutoresizingFlexibleWidth
|
UIViewAutoresizingFlexibleHeight
;
self
.
player
.
view
.
frame
=
self
.
view
.
bounds
;
self
.
view
.
autoresizesSubviews
=
YES
;
[
self
.
view
addSubview
:
self
.
player
.
view
];
[
self
.
view
addSubview
:
self
.
mediaControl
];
self
.
mediaControl
.
delegatePlayer
=
self
.
player
;
[
self
.
player
prepareToPlay
];
[
self
.
player
.
view
setFrame
:
self
.
view
.
bounds
];
[
self
.
player
play
];
}
...
...
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerController.m
浏览文件 @
26856df7
...
...
@@ -7,7 +7,9 @@
//
#import "IJKFFPlayerController.h"
#import "IJKFFplayerDef.h"
#import "IJKFFPlayerDef.h"
#import "IJKMediaPlayback.h"
@implementation
IJKFFPlayerController
{
NSURL
*
_url
;
...
...
@@ -110,99 +112,67 @@
return
ret
/
1000
;
}
-
(
void
)
onMediaError
:(
NSInteger
)
error
{
}
-
(
void
)
onMediaPrepared
{
}
-
(
void
)
onMediaCompleted
{
}
-
(
void
)
onMediaVideoSizeChanged
:(
IJKSize
)
size
{
}
-
(
void
)
onMediaSarChanged
:(
IJKIntPair
)
sar
{
}
-
(
void
)
onMediaBufferingStart
{
}
-
(
void
)
onMediaBufferingEnd
{
}
-
(
void
)
onMediaBufferingUpdate
:(
IJKIntPair
)
buffering
{
}
-
(
void
)
onMediaSeekComplete
{
}
-
(
void
)
postEvent
:
(
IJKFFPlayerMessage
*
)
msg
{
if
(
!
msg
)
return
;
id
<
IJKMediaPlaybackDelegate
>
delegate
=
self
.
playbackDelegate
;
if
(
!
delegate
)
return
;
AVMessage
*
avmsg
=
&
msg
->
_msg
;
switch
(
avmsg
->
what
)
{
case
FFP_MSG_FLUSH
:
break
;
case
FFP_MSG_ERROR
:
NSLog
(
@"FFP_MSG_ERROR: %d"
,
avmsg
->
arg1
);
[
self
onMediaError
:
avmsg
->
arg1
];
if
([
delegate
respondsToSelector
:
@selector
(
playerDidFail
:)])
[
delegate
playerDidFail
:
avmsg
->
arg1
];
break
;
case
FFP_MSG_PREPARED
:
NSLog
(
@"FFP_MSG_PREPARED:"
);
[
self
onMediaPrepared
];
if
([
delegate
respondsToSelector
:
@selector
(
playerDidPrepare
:)])
[
delegate
playerDidPrepare
];
break
;
case
FFP_MSG_COMPLETED
:
NSLog
(
@"FFP_MSG_COMPLETED:"
);
[
self
onMediaCompleted
];
if
([
delegate
respondsToSelector
:
@selector
(
playerDidComplete
:)])
[
delegate
playerDidComplete
];
break
;
case
FFP_MSG_VIDEO_SIZE_CHANGED
:
NSLog
(
@"FFP_MSG_VIDEO_SIZE_CHANGED: %d, %d"
,
avmsg
->
arg1
,
avmsg
->
arg2
);
[
self
onMediaVideoSizeChanged
:
IJKSizeMake
(
avmsg
->
arg1
,
avmsg
->
arg2
)];
if
([
delegate
respondsToSelector
:
@selector
(
playerDidChangeVideoSize
:)])
[
delegate
playerDidChangeVideoSize
:
IJKSizeMake
(
avmsg
->
arg1
,
avmsg
->
arg2
)];
break
;
case
FFP_MSG_SAR_CHANGED
:
NSLog
(
@"FFP_MSG_SAR_CHANGED: %d, %d"
,
avmsg
->
arg1
,
avmsg
->
arg2
);
[
self
onMediaSarChanged
:
IJKIntPairMake
(
avmsg
->
arg1
,
avmsg
->
arg2
)];
if
([
delegate
respondsToSelector
:
@selector
(
playerDidChangeSampleAspectRatio
:)])
[
delegate
playerDidChangeSampleAspectRatio
:
IJKSampleAspectRatioMake
(
avmsg
->
arg1
,
avmsg
->
arg2
)];
break
;
case
FFP_MSG_BUFFERING_START
:
NSLog
(
@"FFP_MSG_BUFFERING_START:"
);
[
self
onMediaBufferingStart
];
if
([
delegate
respondsToSelector
:
@selector
(
playerDidStartBuffering
:)])
[
delegate
playerDidStartBuffering
];
break
;
case
FFP_MSG_BUFFERING_END
:
NSLog
(
@"FFP_MSG_BUFFERING_END:"
);
[
self
onMediaBufferingEnd
];
if
([
delegate
respondsToSelector
:
@selector
(
playerDidStopBuffering
:)])
[
delegate
playerDidStopBuffering
];
break
;
case
FFP_MSG_BUFFERING_UPDATE
:
NSLog
(
@"FFP_MSG_BUFFERING_UPDATE: %d, %d"
,
avmsg
->
arg1
,
avmsg
->
arg2
);
[
self
onMediaBufferingUpdate
:
IJKIntPairMake
(
avmsg
->
arg1
,
avmsg
->
arg2
)];
break
;
case
FFP_MSG_BUFFERING_BYTES_UPDATE
:
NSLog
(
@"FFP_MSG_BUFFERING_BYTES_UPDATE: %d"
,
avmsg
->
arg1
);
break
;
case
FFP_MSG_BUFFERING_TIME_UPDATE
:
NSLog
(
@"FFP_MSG_BUFFERING_TIME_UPDATE: %d"
,
avmsg
->
arg1
);
break
;
case
FFP_MSG_SEEK_COMPLETE
:
NSLog
(
@"FFP_MSG_SEEK_COMPLETE:"
);
[
self
onMediaSeekComplete
];
if
([
delegate
respondsToSelector
:
@selector
(
playerDidSeek
:)])
[
delegate
playerDidSeek
];
break
;
default:
NSLog
(
@"unknown FFP_MSG_xxx(%d)"
,
avmsg
->
what
);
...
...
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerDef.h
浏览文件 @
26856df7
...
...
@@ -23,36 +23,3 @@
-
(
void
)
recycle
:(
IJKFFPlayerMessage
*
)
msg
;
@end
struct
IJKSize
{
NSInteger
width
;
NSInteger
height
;
};
typedef
struct
IJKSize
IJKSize
;
struct
IJKIntPair
{
NSInteger
arg1
;
NSInteger
arg2
;
};
typedef
struct
IJKIntPair
IJKIntPair
;
CG_INLINE
IJKSize
IJKSizeMake
(
NSInteger
width
,
NSInteger
height
)
{
IJKSize
size
;
size
.
width
=
width
;
size
.
height
=
height
;
return
size
;
}
CG_INLINE
IJKIntPair
IJKIntPairMake
(
NSInteger
arg1
,
NSInteger
arg2
)
{
IJKIntPair
pair
;
pair
.
arg1
=
arg1
;
pair
.
arg2
=
arg2
;
return
pair
;
}
\ No newline at end of file
ios/IJKMediaPlayer/IJKMediaPlayer/IJKMediaPlayback.h
浏览文件 @
26856df7
...
...
@@ -13,11 +13,53 @@
@protocol
IJKMediaPlayback
;
struct
IJKSize
{
NSInteger
width
;
NSInteger
height
;
};
typedef
struct
IJKSize
IJKSize
;
CG_INLINE
IJKSize
IJKSizeMake
(
NSInteger
width
,
NSInteger
height
)
{
IJKSize
size
;
size
.
width
=
width
;
size
.
height
=
height
;
return
size
;
}
struct
IJKSampleAspectRatio
{
NSInteger
numerator
;
NSInteger
denominator
;
};
typedef
struct
IJKSampleAspectRatio
IJKSampleAspectRatio
;
CG_INLINE
IJKSampleAspectRatio
IJKSampleAspectRatioMake
(
NSInteger
numerator
,
NSInteger
denominator
)
{
IJKSampleAspectRatio
sampleAspectRatio
;
sampleAspectRatio
.
numerator
=
numerator
;
sampleAspectRatio
.
denominator
=
denominator
;
return
sampleAspectRatio
;
}
#pragma mark IJKMediaPlaybackDelegate
@protocol
IJKMediaPlaybackDelegate
<
NSObject
>
-
(
void
)
onEvent
:(
id
<
IJKMediaPlayback
>
)
player
;
@optional
-
(
void
)
playerDidFail
:(
NSInteger
)
error
;
-
(
void
)
playerDidPrepare
;
-
(
void
)
playerDidComplete
;
-
(
void
)
playerDidChangeVideoSize
:(
IJKSize
)
size
;
-
(
void
)
playerDidChangeSampleAspectRatio
:(
IJKSampleAspectRatio
)
sampleAspectRatio
;
-
(
void
)
playerDidStartBuffering
;
-
(
void
)
playerDidStopBuffering
;
-
(
void
)
playerDidSeek
;
@end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录