JDMediaEdit Class Reference

Inherits from NSObject
Declared in JDMediaEdit.h

Overview

@class JDMediaEdit

本类包含了所有视频编辑预览和合成功能

– initWithPreviewConfig:delegate:

初始化

- (instancetype)initWithPreviewConfig:(JDMEPreviewConfig *)previewConfig delegate:(id<JDMediaEditDelegate>)delegate

Parameters

previewConfig

预览配置

delegate

回调代理

Return Value

返回编辑对象

Declared In

JDMediaEdit.h

– getPreviewConfig

返回预览配置对象

- (JDMEPreviewConfig *)getPreviewConfig

Return Value

返回预览配置对象

Discussion

see JDMEPreviewConfig

Declared In

JDMediaEdit.h

– getItemArrayByType:

获取item层

- (NSArray<JDSTimeLineItem*> *)getItemArrayByType:(JDSTimeLineItemType)type

Parameters

type

时间线类型

Return Value

该类型的item数组

Declared In

JDMediaEdit.h

– getItemArrayAtTime:ofType:

获取item层

- (NSArray<JDSTimeLineItem*> *)getItemArrayAtTime:(CMTime)time ofType:(JDSTimeLineItemType)type

Parameters

time

时间

type

item类型,可以组合

Return Value

返回的item数组

Declared In

JDMediaEdit.h

– getTotalDuration

获取总时长

- (CMTime)getTotalDuration

Return Value

总时长

Declared In

JDMediaEdit.h

– appendMovieArray:completion:

在尾部添加时间线movieArray,异步调用

- (void)appendMovieArray:(NSArray *)movieArray completion:(void ( ^ ) ( BOOL ))completion

Parameters

movieArray

要添加的movieArray;元素类型为PHAsset或者UIImage

completion

完成回调,返回YES表示成功,返回NO表示失败

Declared In

JDMediaEdit.h

– insertMovieTimeLineItem:beforeItem:

在一个item之前插入一个时间线item

- (BOOL)insertMovieTimeLineItem:(JDSMovieTimeLineItem *)item beforeItem:(JDSMovieTimeLineItem *)curItem

Parameters

item

要插入的item

curItem

参考的item

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– insertMovieTimeLineItem:afterItem:

在一个item之后插入一个时间线item

- (BOOL)insertMovieTimeLineItem:(JDSMovieTimeLineItem *)item afterItem:(JDSMovieTimeLineItem *)curItem

Parameters

item

要插入的item

curItem

参考的item

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– appendMovieTimeLineItem:

在尾部添加时间线item

- (BOOL)appendMovieTimeLineItem:(JDSMovieTimeLineItem *)item

Parameters

item

要添加的item

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– removeMovieTimeLineItem:

删除一个时间线item

- (BOOL)removeMovieTimeLineItem:(JDSMovieTimeLineItem *)item

Parameters

item

要删除的item

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– moveMovieTimeLineItem:beforeItem:

移动一个item到另一个item之前

- (BOOL)moveMovieTimeLineItem:(JDSMovieTimeLineItem *)item beforeItem:(JDSMovieTimeLineItem *)curItem

Parameters

item

要移动的item

curItem

参考的item

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– moveMovieTimeLineItem:afterItem:

移动一个item到另一个item之前

- (BOOL)moveMovieTimeLineItem:(JDSMovieTimeLineItem *)item afterItem:(JDSMovieTimeLineItem *)curItem

Parameters

item

要移动的item

curItem

参考的item

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– splitMovieItemAtTime:

分割一个movie item

- (BOOL)splitMovieItemAtTime:(CMTime)time

Parameters

time

分割时间点

Declared In

JDMediaEdit.h

– copyMovieTimeLineItem:

复制一个movie item,并放在后面

- (BOOL)copyMovieTimeLineItem:(JDSMovieTimeLineItem *)item

Parameters

item

时间线item

Declared In

JDMediaEdit.h

– clipMovieTimeLineItem:withStartTime:endTime:

设置视频裁剪的起始时间和终止时间

- (BOOL)clipMovieTimeLineItem:(JDSMovieTimeLineItem *)item withStartTime:(CMTime)startTime endTime:(CMTime)endTime

Parameters

item

时间线item

startTime

起始时间,变速后

endTime

起始时间,变速后

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– setMovieTimeLineItem:withRate:

设置播放速率

- (BOOL)setMovieTimeLineItem:(JDSMovieTimeLineItem *)item withRate:(double)rate

Parameters

item

时间线item

rate

播放速率

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– setMovieTimeLineItem:withVideoFilterName:

设置滤镜名称

- (BOOL)setMovieTimeLineItem:(JDSMovieTimeLineItem *)item withVideoFilterName:(NSString *)filterName

Parameters

item

时间线item

filterName

滤镜名称

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– setMovieTimeLineItem:withRotationMode:

设置旋转模式

- (BOOL)setMovieTimeLineItem:(JDSMovieTimeLineItem *)item withRotationMode:(int)rotationMode

Parameters

item

时间线item

rotationMode

旋转模式GPUImageRotationMode

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– setMovieTimeLineItem:withMute:

设置是否静音

- (BOOL)setMovieTimeLineItem:(JDSMovieTimeLineItem *)item withMute:(BOOL)mute

Parameters

item

时间线item

mute

是否静音

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– setMovieTimeLineItem:withVolume:

设置音量

- (BOOL)setMovieTimeLineItem:(JDSMovieTimeLineItem *)item withVolume:(double)volume

Parameters

item

时间线item

volume

音量

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– setMovieTimeLineItem:withReverse:

设置是否倒放

- (BOOL)setMovieTimeLineItem:(JDSMovieTimeLineItem *)item withReverse:(BOOL)reverse

Parameters

item

时间线item

reverse

是否倒放

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– appendMovieTimeLineItemArray:

在尾部添加时间线itemArray

- (BOOL)appendMovieTimeLineItemArray:(NSArray<JDSMovieTimeLineItem*> *)itemArray

Parameters

itemArray

要添加的itemArray

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– removeMovieTimeLineItemArray:

移除时间线item数组

- (BOOL)removeMovieTimeLineItemArray:(NSArray<JDSMovieTimeLineItem*> *)itemArray

Parameters

itemArray

要添加的itemArray

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– setMovieTimeLineItemArray:withRate:

设置播放速率

- (BOOL)setMovieTimeLineItemArray:(NSArray<JDSMovieTimeLineItem*> *)itemArray withRate:(double)rate

Parameters

itemArray

时间线itemArray

rate

速率

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– startPreview:

设置预览窗口

- (void)startPreview:(UIView *)view

Parameters

view

预览窗口

Declared In

JDMediaEdit.h

– pausePreview

暂停预览

- (void)pausePreview

Declared In

JDMediaEdit.h

– playPreview

播放预览

- (void)playPreview

Declared In

JDMediaEdit.h

– stopPreview

停止预览

- (void)stopPreview

Discussion

重新开始预览,需要再调用startPreview

Declared In

JDMediaEdit.h

– getCurrentPreviewTime

返回当前预览时间

- (CMTime)getCurrentPreviewTime

Return Value

返回当前预览时间点CMTime

Declared In

JDMediaEdit.h

– getCurrentPreviewState

返回当前预览状态

- (JDMEPreviewState)getCurrentPreviewState

Return Value

返回当前预览状态 JDMEPreviewState

Discussion

see JDMEPreviewState

Declared In

JDMediaEdit.h

– seekToTime:

预览seek

- (void)seekToTime:(CMTime)time

Parameters

time

seek时间点

Declared In

JDMediaEdit.h

– seekToTime:completionHandler:

预览seek

- (void)seekToTime:(CMTime)time completionHandler:(void ( ^ ) ( BOOL finished ))completionHandler

Parameters

time

seek时间点

completionHandler

完成回调

Declared In

JDMediaEdit.h

– startExportWithConfig:

开始合成

- (void)startExportWithConfig:(JDMEOutputConfig *)config

Parameters

config

合成输出配置对象

Declared In

JDMediaEdit.h

+ getEffectImageWithLookUpImagePath:preImage:

根据RGB颜色查找图像,将预览图像生成新的效果图像

+ (UIImage *)getEffectImageWithLookUpImagePath:(NSString *)lookUpImagePath preImage:(UIImage *)preImage

Parameters

lookUpImagePath

RGB颜色查找图像路径

preImage

预览图像

Return Value

返回效果图像

Declared In

JDMediaEdit.h

– getBGMTimeLineItemArray

获取所有背景音乐数组

- (NSArray *)getBGMTimeLineItemArray

Return Value

返回所有背景音乐数组

Declared In

JDMediaEdit.h

– getBGMTimeLineItemArrayAtTime:

获取某个时间点的背景音乐数组

- (NSArray *)getBGMTimeLineItemArrayAtTime:(CMTime)time

Parameters

time

时间点

Return Value

返回某个时间点的背景音乐数组

Declared In

JDMediaEdit.h

– addBGMTimeLineItem:

添加背景音乐

- (BOOL)addBGMTimeLineItem:(JDSBGMTimeLineItem *)timeLineItem

Parameters

timeLineItem

时间线timeLineItem

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– removeBGMTimeLineItem:

移除背景音乐

- (BOOL)removeBGMTimeLineItem:(JDSBGMTimeLineItem *)timeLineItem

Parameters

timeLineItem

时间线timeLineItem

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– setBGMTimeLineItem:withTimeRangeInWhole:withTimeRangeInAsset:

修改背景音乐在时间线上的时间范围与背景音乐相对于自己的开始与播放时长

- (BOOL)setBGMTimeLineItem:(JDSBGMTimeLineItem *)timeLineItem withTimeRangeInWhole:(CMTimeRange)timeRangeInWhole withTimeRangeInAsset:(CMTimeRange)timeRangeInAsset

Parameters

timeLineItem

时间线timeLineItem

timeRangeInWhole

景音乐在时间线上的时间范围

timeRangeInAsset

背景音乐相对于自己的开始与播放时长

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– setBGMTimeLineItem:withRate:

设置背景音乐播放速率

- (BOOL)setBGMTimeLineItem:(JDSBGMTimeLineItem *)item withRate:(double)rate

Parameters

item

时间线item

rate

背景音乐播放速率

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– setBGMTimeLineItem:WithMute:

设置背景音乐是否静音

- (void)setBGMTimeLineItem:(JDSBGMTimeLineItem *)timeLineItem WithMute:(BOOL)mute

Parameters

timeLineItem

时间线item

mute

是否静音 YES 为静音 NO 为正常音量播放

Declared In

JDMediaEdit.h

– setBGMTimeLineItem:WithVolume:

设置背景音乐音量

- (void)setBGMTimeLineItem:(JDSBGMTimeLineItem *)timeLineItem WithVolume:(double)volume

Parameters

timeLineItem

时间线item

volume

背景音乐音量

Declared In

JDMediaEdit.h

– getLayerTimeLineItemArray

获取所有水印字幕时间线Item数组

- (NSArray *)getLayerTimeLineItemArray

Return Value

返回所有水印字幕时间线Item数组

Declared In

JDMediaEdit.h

– getLayerTimeLineItemArrayAtTime:

获取某个时间点的水印字幕时间线Item数组

- (NSArray *)getLayerTimeLineItemArrayAtTime:(CMTime)time

Parameters

time

时间点

Return Value

返回某个时间点的水印字幕时间线Item数组

Declared In

JDMediaEdit.h

– addLayerTimeLineItem:

添加水印字幕时间线Item

- (BOOL)addLayerTimeLineItem:(JDSLayerTimeLineItem *)timeLineItem

Parameters

timeLineItem

时间线 timeLineItem

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– removeLayerTimeLineItem:

移除水印字幕时间线Item

- (BOOL)removeLayerTimeLineItem:(JDSLayerTimeLineItem *)timeLineItem

Parameters

timeLineItem

时间线timeLineItem

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– setLayerTimeLineItem:withTimeRangeInWhole:

修改水印字幕时间线Item在时间线上的时间范围

- (BOOL)setLayerTimeLineItem:(JDSLayerTimeLineItem *)timeLineItem withTimeRangeInWhole:(CMTimeRange)timeRangeInWhole

Parameters

timeLineItem

时间线timeLineItem

timeRangeInWhole

水印字幕时间线Item在时间线上的时间范围

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– setLayerTimeLineItem:withCanEdit:

修改水印字幕是否可编辑

- (BOOL)setLayerTimeLineItem:(JDSLayerTimeLineItem *)timeLineItem withCanEdit:(BOOL)canEdit

Parameters

timeLineItem

时间线timeLineItem

canEdit

时间线timeLineItem是否可编辑

Return Value

成功返回YES,失败返回NO

Declared In

JDMediaEdit.h

– beginEditLayerTimeLineItem:

开始编辑水印字幕

- (void)beginEditLayerTimeLineItem:(JDSLayerTimeLineItem *)timeLineItem

Parameters

timeLineItem

开始编辑的时间线timeLineItem

Declared In

JDMediaEdit.h

– endEditLayerTimeLineItem:

结束编辑水印字幕

- (void)endEditLayerTimeLineItem:(JDSLayerTimeLineItem *)timeLineItem

Parameters

timeLineItem

结束编辑的时间线timeLineItem

Declared In

JDMediaEdit.h