AG¿·¢K8¹ú¼Ê¶ÌÊÓÆµSDK¿ª·¢ÊÖ²á
-
- Ò»¡¢AG¿·¢K8¹ú¼ÊSDK×é³É
- ¶þ¡¢SDK¼¯³ÉºÍµ¥Î»ËµÃ÷
-
Èý¡¢ÊÓÆµ±à¼SDK
- 3.1¡¢SDKÖÐÓõ½µÄÃû×Ö½âÊÍ
- 3.2¡¢ºÏ³ÉÈÝÆ÷:ConcatComposition
- 3.3¡¢ÊÓÆµºÍͼƬµÄ»ìºÏ±à¼
- 3.4¡¢Í¼²ãÖ®--ʱ¼äµ÷½Ú
- 3.5¡¢Í¼²ãÖ®--ÊÖÊÆ + ÒÆ¶¯/Ëõ·Å/Ðýת
- 3.6¡¢Í¼²ãÖ®--ÌùÖ½/ˮӡ/ÎÄ×Ö
- 3.7¡¢Í¼²ãÖ®--ÑÕÉ«µ÷½Ú/Â˾µ/ÃÀÑÕ
- 3.8¡¢Í¼²ãÖ®--ת³¡ÉèÖÃ
- 3.9¡¢Í¼²ãÖ®--È볡¶¯»/³ö³¡¶¯»/Ö¸¶¨Ê±¼äµã¶¯»
- 3.10¡¢Í¼²ãÖ®--ÌØÐ§
- 3.11¡¢Í¼²ãÖ®--»²¼(±³¾°)/ȥˮӡ/͸Ã÷/¾µÏñ
- 3.12¡¢Í¼²ãÖ®--»ñÈ¡ËõÂÔͼ
- 3.13¡¢Í¼²ãÖ®--¹Ø¼üÖ¡¶¯»
- 3.14¡¢Í¼²ãÖ®--µ÷ËÙ
- 3.15¡¢ÉùÒôͼ²ã
- 3.16¡¢API½éÉÜ
- ËÄ¡¢AEÄ£°æSDK
- Îå¡¢ÈËÏñ·Ö¸îSDK
- Áù¡¢Android¶Ë´íÎó´úÂë
Ò»¡¢AG¿·¢K8¹ú¼ÊSDK×é³É
- AG¿·¢K8¹ú¼ÊSDK°üº¬ÁËÊÓÆµ±à¼SDKºÍAEÄ£°æSDK
- ´ËÎĵµ»ùÓÚAG¿·¢K8¹ú¼ÊSDK4.5.8°æ±¾±à¼
- Îĵµ¸üÐÂ˵Ã÷£º
ÐòºÅ | Îĵµ¸üÐÂÄÚÈÝ | ʱ¼ä |
---|---|---|
1 | ¸üÐÂAndroid¡¢IOSµÄAPI˵Ã÷ | 20210114 |
2 | ¸üÐÂÈËÏñ·Ö¸îSDK¿â˵Ã÷ | 20210519 |
3 | Ôö¼ÓAndroid¶Ë´íÎó´úÂë½âÊÍ | 20210716 |
¶þ¡¢SDK¼¯³ÉºÍµ¥Î»ËµÃ÷
2.1¡¢Android¶Ë
- AG¿·¢K8¹ú¼ÊµÄSDKÒÔmoduleµÄÐÎʽÌṩ£¬ ÔÚÄãµÄÏîÄ¿Öеã»÷File/import miduleµ¼Èë,²¢ÔÚÄúÖ÷moduleÖеÄbuild.gradleÖÐÔö¼Óimplementation project(':LanSongSDK')(Èç¹ûÊǸüÐÂSDK, ÔòÏÈɾ³ýµ±Ç°µÄmodule,,²¢ÆÁ±Îbuild.gradleÖеÄ×Ö¶Î, È»ºóÔÚimportµ¼Èë,ÔÙ´ò¿ªÆÁ±Î)
- LanSongSDK moduleϵÄassetsÏÂÓÐLanSongIFxxx¿ªÍ·Â˾µÓõ½µÄ¸÷ÖÖͼƬ×ÊÔ´£¬ ÈçÄúÏîĿûÓÐÓõ½LanSongIFxxx¿ªÍ·µÄÂ˾µ£¬Ôò¿ÉÒÔɾ³ý¡£
- ÆäËûµÄ´úÂ룬¸÷ÖÖ×ÊÔ´£¬¸÷ÖÖÊÓÆµËزĵȾùΪÑÝʾËùÓ㬲»ÊôÓÚsdkµÄÒ»²¿·Ö¡£
- ´úÂëʹÓÃ
1. LanSoEditor.initSDK(getApplicationContext(), null);
// ³õʼ»¯SDK.[±ØÐë] (nullʱ,APPÃû×ÖÒ»¶¨ÊÇAG¿·¢K8¹ú¼ÊdemoÃû×Ö)
2. LanSoEditor.setTempFileDir();
//ÉèÖÃSDK´¦Àí¹ý³ÌÖеÄÁÙʱÎļþ»º´æÂ·¾¶,Ò²ÊÇAG¿·¢K8¹ú¼ÊÈÝÆ÷×îÖÕÉú³ÉÊÓÆµµÄ·¾¶, Äú¿ÉÒÔÉèÖÃÉú³ÉÊÓÆµÃû×ÖµÄǰºó׺. ´Ë´úÂëÊǹ«¿ªµÄ, Äúµã»÷ºó»á¿´µ½¸ü¶à×¢ÊÍ [¿ÉÑ¡]
3. LanSoEditor.setSDKLogOutListener
//ÉèÖÃÈÕÖ¾Êä³ö¼àÌý [¿ÉÑ¡].
2.2¡¢IOS¶Ë
- Í϶¯LanSongEditorFramework.frameworkµ½ÄãµÄÏîÄ¿ÖÐ, ²¢ÔÚ¹¤³ÌµÄBuild Phases±êǩҳµÄLink Binary With LibrariesÖаÑAG¿·¢K8¹ú¼ÊµÄframework·Åµ½×îÉÏÃæ.
- ÔÚBuild PhasesµÄ<Link Binary With Libraries>ÖÐÔö¼Ólibz.tbd , libbz2.tbd, libc++.tbd, libiconv.tbd
- ÔÚÄã´úÂëÖаüÀ¨Í·Îļþ£º #import <LanSongEditorFramework/ LanSongEditor.h>
- LanSongEditorBundle.bundle ÊÇAG¿·¢K8¹ú¼ÊsdkÖÐ ÒÔLanSongIFxxx¿ªÍ·Óõ½µÄһЩÂ˾µÍ¼Æ¬,Èç¹ûûÓõ½LanSongIFxxx¿ªÍ·µÄÂ˾µ£¬Ôò²»ÓÃÔö¼Ó´ËÎļþ¡£ÈçÓõ½Ôò°ÑLanSongEditorBundle.bundle Í϶¯µ½ÄãÏîÄ¿µÄ copy Bundle ResourcesÖÐ
- ÆäËûµÄ´úÂ룬¸÷ÖÖ×ÊÔ´£¬¸÷ÖÖÊÓÆµËزĵȾùΪÑÝʾËùÓ㬲»ÊôÓÚsdkµÄÒ»²¿·Ö¡£
- ´úÂëʹÓÃ
³õʼ»¯
1. Ôö¼ÓÍ·Îļþ
#import <LanSongEditorFramework/LanSongEditor.h>
2. ÔÚÄú³ÌÐò¸Õ¿ªÊ¼µÄµØ·½³õʼ»¯AG¿·¢K8¹ú¼ÊµÄSDK:
[LanSongEditor initSDK:nil]
//³õʼ»¯SDK [±ØÐë] (nilʱ,APPÃû×ÖÒ»¶¨ÊÇAG¿·¢K8¹ú¼ÊdemoÃû×Ö)
2.3¡¢Ê±¼äµ¥Î»
Android
- Óõ½Á½ÖÖʱ¼äµ¥Î»£ºfloatÀàÐͺÍlongÀàÐÍ£»
- floatÀàÐÍÊÇÃ룬longÀàÐÍÊÇ΢Ã룬
- 1ÃëµÈÓÚ1000*1000΢Ã룻ËùÓÐʱ¼ä²ÎÊýÊÇfloatÀàÐÍ£¬¼´ÎªÃ룻ËùÓÐʱ¼ä²ÎÊýÊÇlongÀàÐÍ£¬ÔòÊÇ΢Ã룻
- AG¿·¢K8¹ú¼ÊµÄÒ»¸öÈÝÆ÷ÀàÔÚÖ´ÐеÄʱºò,Óнø¶È»Øµ÷OnLanSongSDKProgressListener ºÍOnLanSongSDKThreadProgressListener, ÆäÖÐThreaProgressÊǹ¤×÷ÔÚÄÚ²¿Ïß³ÌÖÐ,Ö±½Óµ÷ÓüàÌý¸øÄã, ûÓо¹ýhandle+message»úÖÆ, ¼àÌýµÄÁ½¸ö²ÎÊý·Ö±ðÊÇ(long currentPtsUs, int percnet); ÆäÖÐ currentPtsUs:Êǵ±Ç°¼´½«´¦ÀíµÄÖ¡µÄʱ¼ä´Á, percentÊǵ±Ç°´¦ÀíµÄ°Ù·Ö±È;
IOS
- iosÓõ½Ò»ÖÖµ¥Î»£ºCGFloatÀàÐÍ£¬ ¸¡µãÀàÐÍ£¬µ¥Î»Ã룻
- ÊÓÆµÔÚ±àÂëÖÐ, AG¿·¢K8¹ú¼ÊĬÈÏÊÇÒ»ÃëÖÓÒ»¸öIDRÖ¡;
Èý¡¢ÊÓÆµ±à¼SDK
3.1¡¢SDKÖÐÓõ½µÄÃû×Ö½âÊÍ
1.composition: ºÏ³É, ÊÇÒ»¸öÈÝÆ÷, ÓÃÀ´´æ·Å¸÷ÖÖËØ²ÄµÄÈÝÆ÷, ËõдÊÇ: compXXX, ±ÈÈçcompDurationUs, Ôò±íʾºÏ³ÉµÄʱ³¤,µ¥Î»ÊÇ΢Ãë(Us)
2.original: ÔʼµÄ, cut:ʱ¼ä²Ã¼ô; duration:ʱ³¤;
3.2¡¢ºÏ³ÉÈÝÆ÷:ConcatComposition
- ×ÖÃæÒâ˼ÊÇ:Æ´½ÓºÏ³É.ÊÇÒÔͼƬºÍÊÓÆµµÄÆ´½ÓµÄ×Üʱ³¤×÷Ϊ×îÖÕµ¼³öÊÓÆµµÄʱ³¤, ÈÝÆ÷ÓÐ3´ó²ã, ·Ö±ðÊÇ:±³¾°Í¼²ã , Æ´½ÓÀàͼ²ã , µþ¼ÓÀàͼ²ã.
- ±³¾°²ã: ¸øÈÝÆ÷ÕûÌåÔö¼ÓÒ»¸ö±³¾°Í¼²ã, Ö§³Ö:ÑÕÉ«±³¾°, ͼƬ±³¾°, Èç¹ûÄãÒª¸ø²»Í¬µÄͼ²ãÉèÖò»Í¬µÄ±³¾°,Ôò¿ÉÒÔÓÃͼ²ãµÄ»²¼/±³¾°¹¦ÄÜÀ´·Ö±ðÉèÖÃ.
- Æ´½Ó²ã: °ÑÓû§Ñ¡ÖеÄͼƬºÍÊÓÆµÇ°ºóÆ´½ÓÔÚÒ»Æð,ÊÇǰºóµþ¼Ó. ¿ÉÒÔÔÚ¿ªÊ¼Ç°Ôö¼Ó, Ò²¿ÉÒÔ×öÔ¤ÀÀ¹ý³ÌÖвåÈë, ¿ÉÒÔÖ¸¶¨Ê±¼äµã²åÈë, ¿É¸´ÖÆ, ¿Éɾ³ý, ¿Éµ÷½Úÿ¸öͼ²ãµÄǰºóλÖÃ, Ö§³ÖÊÖÊÆµ÷½Ú, Ö§³Öͼ²ãµÄ¸÷ÖÖ·½·¨.
- µþ¼ÓÀàͼ²ã: ÔÚÆ´½Ó²ãÉÏÃæ,µþ¼Ó¶à¸öÆäËûͼ²ã, ÊÇÉÏϵþ¼Ó. ±ÈÈçµþ¼Óˮӡ, µþ¼ÓÎÄ×Ö, µþ¼Ó¶¯»µÈµÈÕâЩ³ÆÖ®Îªµþ¼ÓÀàÐ͵Äͼ²ã, ͼ²ã¿Éµ÷½ÚÉÏÏÂλÖÃ, ¿ÉÉèÖÃÏÔʾ¿ªÊ¼Ê±¼äµã, ¿ÉÉèÖÃÏÔʾʱ³¤;¿Éµþ¼Ó, ¿Éɾ³ý, Ö§³ÖÊÖÊÆ,Ðý×ªÒÆ¶¯Ëõ·ÅÂ˾µÂíÈü¿ËµÈµÈ, ¿ÉÖ´Ðи¸Ààͼ²ãµÄËùÓз½·¨.
- ÕâЩAPI µÄ¹Ø¼ü´ÊÊÇ: ÔÚLSOConcatCompositionViewÖÐ;, Æ´½Ó:(concat), µþ¼Ó:(overLay), ±³¾°(backGround).
3.3¡¢ÊÓÆµºÍͼƬµÄ»ìºÏ±à¼
- µ±Ç°´ó²¿·ÖÊÓÆµ±à¼ÊÇÆ´½Ó±à¼, ±ÈÈçÄúÑ¡ÖÐÁ˼¸¸öÊÓÆµºÍ¼¸¸öͼƬ, ÔòÊÇÊÓÆµºÍͼƬ»ìºÏµÄǰºóÆ´½ÓºÏ³ÉµÄ±à¼.
- ¿ÉÒÔÊǵ¥¸öÊÓÆµ, Ò²¿ÉÒÔÊǶà¸öÊÓÆµ, Ò²¿ÉÒÔÊÇÒ»ÕÅͼƬ»ò¶àÖÖͼƬ, »òÕßͼƬºÍÊÓÆµ»ìºÏ±à¼.
- ÊÓÆµÔö¼Óºó,µ±Ç°Ä¬ÈÏÊÇÕû¸öÊÓÆµÊ±³¤Ôö¼Ó½øÈ¥, Ôö¼Óºó, Äã¿ÉÒÔÉèÖÃÊÓÆµÊ±³¤, ÈÝÆ÷µÄ×Üʱ³¤»á¸Ä±ä, µÃµ½Í¼²ã¶ÔÏó,¿ÉÖ´ÐÐͼ²ãµÄ¸÷ÖÖ·½·¨.
- ͼƬÔö¼Óºó, ĬÈÏÿÕÅͼƬÏÔʾ3Ãë, ¿Éµ÷½ÚÏÔʾʱ³¤, ¿É¸´ÖÆ,ɾ³ý,²åÈëͼƬ, Æ´½ÓͼƬ²»¿ÉÒÔÑ»·, µÃµ½Í¼²ã¶ÔÏó,¿ÉÖ´ÐÐͼ²ãµÄ¸÷ÖÖ·½·¨.
- Èç¹ûÉèÖÃÁËת³¡,Ôòǰһ¸ö²ãºÍºóÒ»²ãÓв¿·Ö»ÃæÊÇÖØµþ, ÖØµþʱ¼ä¿ÉÉèÖÃ. ÉèÖÃת³¡ºó,
- ×îÖÕÈÝÆ÷µÄ×ܳ¤¶ÈÊǸ÷¸öͼƬºÍÊÓÆµµÄ³¤¶ÈÖ®ºÍ ,Èç¹ûÓÐת³¡»òÊÓÆµ±äËÙ,Ôò¶ÔÓ¦µÄʱ³¤»á¸Ä±ä.
3.4¡¢Í¼²ãÖ®--ʱ¼äµ÷½Ú
- ËØ²Ä±¾ÉíµÄµÄʱ³¤. ±ÈÈçÊÓÆµÊ±³¤,ÉùÒôʱ³¤, ͼƬÔÚ·ÅÈëºó, ĬÈÏÊÇÏÔʾ3Ãë; ͼƬÐòÁкÍgifµÈÊÇÆä±¾ÉíµÄʱ³¤; Õâ¸öʱ³¤ÊÇËØ²Ä±¾ÉíµÄ, AG¿·¢K8¹ú¼Ê³ÆÖ®ÎªAssetDuration ÊÇ×ÊԴʱ³¤, Ö»ÄܶÁÈ¡,²»ÄÜÐÞ¸Ä, µ«Äã¿ÉÒÔÐÞ¸ÄËØ²ÄÔÚÈÝÆ÷ÖеÄÏÔʾʱ¼äºÍ´Óʲôʱ¼äµã¿ªÊ¼ÏÔʾ;
- ¿ÉÒÔÐ޸ĵÄÓÐ: ËØ²ÄÔÚÈÝÆ÷ÖеÄÏÔʾʱ¼äµã, ÊÇ·ñÑ»·, ÏÔʾʱ³¤, Èç¹ûÑ»·,Ôò»á´ÓÏÔʾʱ¼äµã¿ªÊ¼, һֱѻ·µ½Õû¸öÈÝÆ÷β²¿, ʱ¼ä¿ÉÒÔʵʱÉèÖÃ, ʵʱµ÷½Ú, ʵʱ»ñÈ¡,µ±ÏÔʾʱ³¤¸Ä±äºó, Èç¹ûÄãÒª»ñÈ¡¶ÔÓ¦µÄËõÂÔͼ,ÔòËõÂÔͼÖÐͼƬÊý×éÒ²»áÏàÓ¦µÄ¸Ä±ä;
- Èç¹ûÊÇÊÓÆµËزÄ, ÔòÖ§³Ö²Ã¼ôÊÓÆµ³¤¶È, Á½¸ö·½·¨ÊÇ: setCutStartTimeºÍ setCutEndTime,´ÓÊÓÆµµÄʲôʱ¼ä¿ªÊ¼²Ã¼ô,ºÍ²Ã¼ôµ½Ê²Ã´µØ·½; ÊÓÆµ²Ã¼ôµ±Ç°Ã»ÓÐÔ¼Êø, µ«½¨ÒéÄã×îС²Ã¼ôÖµÊÇ1Ãë;
- ÕâЩAPIµÄÃû×ÖÊÇ:×ÊԴʱ³¤(assetDuration), µ±Ç°Í¼²ãµÄÏÔʾʱ³¤( displayDuration), ´ÓÈÝÆ÷µÄʲôʱ¼äµã¿ªÊ¼ÏÔʾ:(startTimeOfComp);
3.5¡¢Í¼²ãÖ®--ÊÖÊÆ + ÒÆ¶¯/Ëõ·Å/Ðýת
- ÈÝÆ÷ÔÚ´´½¨Ê±ÉèÖÃÁË¿í¶ÈºÍ¸ß¶È, ËØ²ÄÔö¼Ó½øÈ¥ºó, »áĬÈϷŵ½ÈÝÆ÷µÄÖмä, ¼´ÈÝÆ÷µÄ¿í¶È/2ºÍ¸ß¶È/2.
- ÿÔö¼ÓÒ»¸öËØ²Ä, »áµÃµ½Ò»¸öͼ²ã¶ÔÏó, ͼ²ã¶¼Ö§³ÖÓÃÊÖÖ¸Ö±½Ó²Ù×÷ÆÁÄ» À´Íê³É ÒÆ¶¯Ëõ·ÅÐýתµÄtouchʼþ,, Äã¿ÉÒÔµ¥Ö¸Òƶ¯, ˫ָËõ·ÅºÍÐýת; µ±Ñ¡ÖÐÒ»¸öͼ²ãʱ, ËüµÄÖܱ߻á³öÏÖÒ»¸öºìÉ«µÄ·½¿ò, ±íʾѡÖе±Ç°Í¼²ã, ΪÁ˱ÜÃâÔÚ²Ù×÷ʱÎó´¥±ðµÄͼ²ã, Äã¿ÉÒ԰ѱðµÄͼ²ãËø¶¨, AG¿·¢K8¹ú¼ÊÌṩ·á¸»µÄAPIÈÃÄãÉèÖûò»ñÈ¡Ïà¹ØµÄ×ø±ê, AG¿·¢K8¹ú¼ÊÉõÖÁ¶¨ÒåÁËÒ»¸öÀàLSORectÀ´ÈÃÄã»ñÈ¡Ïà¶ÔÓ¦µ±Ç°Ô¤ÀÀ´°µÄÏà¶Ô×ø±ê ºÍ Ïà¶ÔÓÚÈÝÆ÷Öеľø¶Ô×ø±ê.
- AG¿·¢K8¹ú¼ÊÁíÍⶨÒåÁ˸÷ÖÖ³£¼ûµÄö¾ÙÀàÐÍ, ±ÈÈç4ÖÖËõ·ÅÀàÐÍ, ºÍÉÏ/ÏÂ/×ó/ÓÒ/ÖÐ/×óÉÏ/×óÏÂ/ÓÒÉÏ/ÓÒÏÂÕâ9¸öλÖõ㹩ÄúÑ¡Ôñ; ÌṩËõ·ÅϵÊý, Ëõ·Åµ½Êµ¼Ê´óС,ÉèÖþßÌåλÖÃ, Ïà¶ÔÆÁĻλÖõÈ.
- Èç¹ûÄãÒªÓôúÂëµÄÐÎʽÉèÖÃ, ÔòÉèÖõÄλÖÃÊǵ±Ç°Í¼²ãÖÐÐĵãµÄλÖÃ. ¿ÉÒÔËõ·Åµ½Ö¸¶¨´óС, ÐýתÔò0¶ÈÔòÊÇÕýÉÏ·½Îª0µã, ½Ç¶ÈÊÇÈÎÒâ½Ç¶È, ±ÈÈçÉèÖÃΪ-100¶È, -400¶È, »ò370¶È, 540¶ÈµÈµÈ.
- ÕâЩAPIµÄ¹Ø¼ü´ÊÊÇ: Ëõ·Å´óС(scaleSize), Ëõ·ÅÀàÐÍ(scaleType) , Ëõ·ÅϵÊý(scaleFactor), λÖÃÀàÐÍ( positionType) , λÖÃÖÐÐĵã(centerPoint), λÖÃÏà¶ÔÔ¤ÀÀ´°¿Ú×ø±ê(positionInView), Ðýת (rotation), setTouchEnable , xxxInView( ÊÇÒÔµ±Ç°Ô¤ÀÀΪµ¥Î»µÄ¿í¸ßºÍλÖÃ;)
3.6¡¢Í¼²ãÖ®--ÌùÖ½/ˮӡ/ÎÄ×Ö
- ÌùÖ½, ˮӡ, ÎÄ×Ö, ÔÚAG¿·¢K8¹ú¼Êͼ²ã´¦Àí¼Ü¹¹Àï, ÊÇÒÔͼÏñµÄÐÎʽ³ÊÏÖµÄ, ÒòΪÊÖ»úGPU´¦ÀíµÄÊÇͼÏñ, ÌùÖ½, ˮӡ, ÎÄ×ÖÔڵײãÊÇÒ»¸öÒâ˼, ÈÏΪÊÇÒ»¸öͼÏñ»òÒ»×éÁ¬ÐøµÄͼÏñ×ö´¦Àí.
- ÎÄ×ÖÔÚSDKÄÚ²¿»á¸÷ÖÖת»»·½·¨, ÈÃÄã·½±ãµÄÒÔÎÄ×Öͼ²ã²Ù×÷, ²Ù×÷Íê±Ïºóµ×²ã»áת»»ÎªÍ¼ÏñÀ´´¦Àí,Èç¹ûAG¿·¢K8¹ú¼ÊÌṩµÄ»æÖÆÎÄ×Ö²»¹»Ïêϸ, ÄãÒ²¿ÉÒÔ×Ô¼º»æÖÆ,È»ºóת»»ÎªÍ¼Æ¬»òͼƬÊý×é,ÉèÖõ½ÈÝÆ÷ÖÐ.
- ÌùÖ½ºÍˮӡÊÇÒ»¸öÒâ˼,AG¿·¢K8¹ú¼ÊÌṩÁ˵¥¸öͼƬµÄͼ²ã,¶àÕÅÁªÏµÍ¼Æ¬×é³ÉµÄͼ²ã, Gifͼ²ãµÈ, ÕâЩÄã¿ÉÒÔ·½±ãµÄÉèÖÃ, ¿ÉÒÔÉèÖÃÒ»¸ö,Ò²¿ÉÒÔÉèÖöà¸ö.
- ͼ²ãµÄÔö¼ÓÊÇͨ¹ýÈÝÆ÷CompositionµÄ·½·¨ÊµÏÖµÄ, Ôö¼Óºó, µÃµ½¶ÔÓ¦µÄͼ²ã¶ÔÏó;
- ÕâЩAPI µÄ¹Ø¼ü´ÊÊÇ: androidµÄͼƬͼ²ã(BitmapLayer) , androidµÄͼƬÐòÁÐͼ²ã(BitmapListLayer), iosµÄͼƬͼ²ã(ImageLayer), iosµÄͼƬÐòÁÐͼ²ã(ImageListLayer), Gifͼ²ã.
3.7¡¢Í¼²ãÖ®--ÑÕÉ«µ÷½Ú/Â˾µ/ÃÀÑÕ
- Â˾µÊǶÔͼ²ãµÄ»Ãæ×öµ÷½Ú, ºÍͼ²ãµÄËõ·ÅÒÆ¶¯Ò»ÑùÊÇͼ²ãµÄÒ»¸öÊôÐÔ, ÑÕÉ«µ÷½ÚºÍÂ˾µºÍÃÀÑÕ, ¶¼ÊÇÂ˾µµÄ²»Í¬Ð§¹û. µ±Ç°AG¿·¢K8¹ú¼ÊµÄÃÀÑÕÊǽö¶ÔÕûÌå»Ãæ×öĥƤºÍÃÀ°×´¦Àí,ûÓÐ×öÁ³Ê¶±ðºóµÄ¸÷ÖÖ¹¦ÄÜ.
- µ±Ç°Ö§³ÖµÄÑÕÉ«µ÷½Ú°üÀ¨: ÁÁ¶È/ ¶Ô±È¶È/ ±¥ºÍ¶È/ Èñ»¯/É«ÎÂ/°×ƽºâ/É«µ÷/ÆØ¹â¶È
- µ±Ç°Ö§³Ö80ÖÖÂ˾µ, °üÀ¨³£¼ûµÄ17ÖÖÂ˾µ,µ±Ç°½¨ÒéÄãʹÓÃÕâ17ÖÖÂ˾µ, ÕâЩÂ˾µÔÚAG¿·¢K8¹ú¼ÊdemoÀï¿ÉÒÔ¿´µ½.
- ÕâЩAPI µÄ¹Ø¼ü´ÊÊÇ: ÉèÖÃÂ˾µ(setFilter,ÉèÖûá°ÑÉÏÒ»¸öÌæ»»µô),Ôö¼ÓÂ˾µ(addFilter), ÒÆ³öÂ˾µ(removeFilter),ɾ³ýËùÓÐÂ˾µ(removeAllFilter);
3.8¡¢Í¼²ãÖ®--ת³¡ÉèÖÃ
- ת³¡ÊÇÁ½¸öËØ²ÄǰºóÆ´½Óʱ²¥·ÅʱµÄÒ»ÖÖ¹ý¶ÉЧ¹û, ±ÈÈçÉÏÒ»¶ÎµµµÄÏûʧ, ÏÂÒ»¶ÎÖð½¥³öÏÖµÈ.
- µ±Ç°µÄת³¡ÊÇAEÉè¼ÆÊ¦ÔÚPC¶ËÓÃafter Effect ÉèÖúõÄ, È»ºó°´ÕÕAG¿·¢K8¹ú¼ÊµÄ¸ñʽ,µ¼³öΪjsonÎĵµ,SDK»¹Ô³öÀ´ÔÚPC¶ËÉè¼ÆµÄЧ¹û. ÕâÑùµÄºÃ´¦ÊÇ: ¿ª·¢ÈËÔ±²»ÓÃ×Ô¼ºÓôúÂëʵÏÖ¸÷ÖÖЧ¹û,Ö»ÐèÒª¸ù¾Ý²»Í¬µÄЧ¹û,°Ñ¶ÔÓ¦µÄjsonË͵½SDKÖÐ, SDK¾ÍʵÏÖÁËÕâÑùµÄЧ¹û, ¼òµ¥¸ßЧ, ²¢¿ÉÒÔ×öµ½AndroidºÍiosµÄͳһ.
- PC¶ËÓÃAeÈí¼þÖÆ×÷¹æ·¶: ÓÃÒ»ÕÅСÓÚµÈÓÚ544x960µÄͼƬ´´½¨Ò»¸öºÏ³É, È»ºó¶ÔÆä×öÐýתËõ·Å͸Ã÷´¦Àí, Ðγɶ¯»; »ò¶ÔÆä×ömaskÕÚÕÖ´¦Àí,Ðγɶ¯»; µ±Ç°²»Ö§³Öͬʱ×öÐýתËõ·Å͸Ã÷+ maskµÄЧ¹û; ºÏ³ÉµÄ·Ö±æÂÊӦСÓÚµÈÓÚ544x960, ʱ³¤½¨Òé²»´óÓÚ3Ãë, ÒÔʵ¼ÊЧ¹ûΪ׼;
- µ±Ç°Ö§³Ö¸÷ÖÖÕÚÕÖת³¡ºÍ»ù´¡µÄÒÆ¶¯ÐýתËõ·Åת³¡; ת³¡ÉèÖÃÊÇͨ¹ýÿ¸ö¾ßÌåµÄͼ²ãÉèÖõÄ, ±ÈÈçÓÐͼ²ãABC3¸ö, ÒªÔÚAB֮ǰÔö¼Óת³¡,ÔòÉèÖÃAµÄtransition; Òª¸øBCÖ®¼ä¼Óת³¡,ÔòÉèÖÃBµÄtransition;
- ת³¡µÄʱ¼ä¿ÉÒÔÉèÖÃ,ĬÈÏÔÚÊÇÉèÖ÷¾¶ºó, »áĬÈÏÊÇ1ÃëÖÓ, ×î´ó¿ÉÉèÖÃΪ5ÃëÖÓ; µ±Ç°½öÖ§³ÖÕÚÕÖת³¡, ¼´¸÷ÖÖÐÎʽµÄ͸Ã÷.
- ÕâЩAPI µÄ¹Ø¼ü´ÊÊÇ:ת³¡(transition); ÉèÖÃת³¡Ê±¼ä:(transitionDuration) , ²¥·Åת³¡(playTransition), È¡Ïû(cancelTransition);
- Ö´Ðв½ÖèÊÇ: ÄãÐèÒªÏÈÉèÖÃת³¡Â·¾¶, ÉèÖúó£¬Ä¬ÈÏת³¡Ê±¼äÊÇ1ÃëÖÓ, ÈçÐèÔ¤ÀÀ£¬Ôòplaytransition£» µ÷ÓÃcancelTransitionÈ¡Ïûת³¡£» ÔÚÉèÖ÷¾¶ºó, Äã¿ÉÒÔÉèÖÃת³¡Ê±¼ä; ÉèÖúó, ÈçÐèÒª²¥·ÅÔòplayTransition; Èç¹ûÄãÒªÓ¦Óõ½È«¾Ö,ÔòÐèÒª°ÑÒ»¸öjsonÎļþÑ»·ÉèÖõ½Ã¿¸öͼ²ã¶ÔÏó; AG¿·¢K8¹ú¼ÊÄÚ²¿»á¹²ÓÃͬһ¸öjsonÄÚÈÝ;
3.9¡¢Í¼²ãÖ®--È볡¶¯»/³ö³¡¶¯»/Ö¸¶¨Ê±¼äµã¶¯»
- È볡¶¯», ³ö³¡¶¯», ºÍת³¡Ò»Ñù, Ò²ÊÇAeÉè¼ÆÊ¦ÔÚPC¶ËÉè¼ÆºÃºó, µ¼³öΪjson,ËÍÈëµ½SDKÖÐ. SDK½âÎö»¹Ô³ö¶ÔÓ¦µÄЧ¹û.
- PC¶ËÓÃAeÈí¼þÖÆ×÷¶¯»¹æ·¶: ÓÃÒ»ÕÅСÓÚµÈÓÚ544x960µÄͼƬ´´½¨Ò»¸öºÏ³É, È»ºó¶ÔÆä×öÐýתËõ·Å͸Ã÷´¦Àí, Ðγɶ¯»; »ò¶ÔÆä×ömaskÕÚÕÖ´¦Àí,Ðγɶ¯»; ºÏ³ÉµÄ·Ö±æÂÊӦСÓÚµÈÓÚ544x960, ʱ³¤½¨Òé²»´óÓÚ3Ãë, , ÒÔʵ¼ÊЧ¹ûΪ׼; Èç¹ûÊÇÐýתËõ·Å͸Ã÷ÔòÖ¡Âʽ¨ÒéÊÇ40, ÈôÊÇmaskÕÚÕÖ,ÔòÖ¡Âʽ¨Òé25.
- ÒòÈ볡¶¯»ºÍ³ö³¡¶¯»´Ó¼¼ÊõÉϽ²£¬½ö½öÊDzåÈ뵽ͼ²ãµÄʱ¼äµã²»Í¬£¬SDK¿ÉÒÔÉèÖÿªÊ¼´Óͼ²ãµÄÄĸöʱ¼äµã¿ªÊ¼, µ±Ç°È볡¶¯»Ä¬ÈÏÊÇ0, ³ö³¡¶¯»Ä¬ÈÏ×îºójsonµÄʱ¼äʱ³¤£» Äã¿ÉÒÔµ÷½ÚÕâ¸ö³öÈ볡µÄ³ÖÐøÊ±¼ä, ³ÖÐøÊ±¼äµ÷½Úºó, »á°Ñµ÷½ÚºóµÄʱ³¤×÷ΪÕû¸ö¶¯»×ßÍêµÄʱ¼ä, Èç¹ûÄãÉèÖõĶÌ,Ôò¶¯»×ߵĿì; Èç¹ûÉèÖõij¤,Ôò¶¯»×ßµÄÂý£» È볡¶¯»ºÍ³ö³¡¶¯»ÊÇsetXXXµÄ·½Ê½£¬ ÿ´ÎÉèÖÃºó£¬ »á°Ñ֮ǰµÄ¶¯»ÒƳö£»Í¬Ò»Ê±¿ÌÖ»ÄÜÓÐÒ»¸öÈ볡»ò³ö³¡¶¯».
- Ö¸¶¨Ê±¼äµã¶¯», ÊÇÄã¿ÉÒÔÖ¸¶¨Ò»¸öʱ¼äµãÔö¼Ó¶¯», ¿ÉÒÔʵʱÉèÖÿªÊ¼Ê±¼äµã,Ò²¿ÉÒÔÉèÖö¯»Ê±³¤, ¿ÉÒÔÔö¼Ó¶à¸ö, ÿ¸öËØ²Ä×î´óÖ§³Ö20¸ö¶¯»¡£ÔÚÿ´ÎÉèÖÃºó£¬ ¿ÉÔ¤ÀÀ»òÒÆ³ý.
- ÕâЩAPIµÄ¹Ø¼ü´ÊÊÇ£º ¶¯»:(Animation) ; È볡¶¯»/³ö³¡¶¯»:(setAnimationAtLayerHead/End), Ö¸¶¨Ê±¼äµã¶¯»:(addAnimationAtCompTimeUs)Ô¤ÀÀ¶¯» playAnimation; ÒÆ³ýremoveAnimation.
- Ö´Ðв½ÖèÊÇ: Ôö¼ÓjsonÎļþ, »áµÃµ½LSOAnimation¶ÔÏó,ÓÃÕâ¸ö¶ÔÏó¿ÉÒÔplayAnimationÀ´Ô¤ÀÀ; removeAnimationɾ³ý; ¶ÔÏóÀïÓÐÉèÖÿªÊ¼Ê±¼äµãºÍ²¥·Åʱ³¤µÄ·½·¨;. µÈҪɾ³ýʱ,ÓÃremoveAnimation; µ±Ò»¸öͼ²ã´ÓÈÝÆ÷ÖÐÊͷźó, AG¿·¢K8¹ú¼Ê»áÏú»ÙÀïÃæµÄËùÓеĶÔÏó.
3.10¡¢Í¼²ãÖ®--ÌØÐ§
- ºÍ¶¯»Ò»ÑùµÄÖÆ×÷²½Öè, Ψһ²»Í¬µÄÊÇ: ¶¯»ÊÇ´Ó¿ªÊ¼²¥·Åµ½½áÊø, Èç¹ûÉèÖõÄʱ³¤²»µÈÓÚjsonÖеÄĬÈÏʱ³¤,¶¯»Æ½¾ù·ÖÅ䲻ͬµÄ¶¯»¿ìÂýÀ´´ïµ½ÉèÖõij¤¶È; ¶øÌØÐ§µÄЧ¹ûʱ¼äÊǹ̶¨µÄ, Èç¹ûÉèÖõÄʱ³¤jsonÖеÄĬÈÏʱ³¤,Ôò»áÑ»·²¥·ÅÌØÐ§.
- ÌØÐ§¿ÉÉèÖõ±Ç°Í¼²ãµÄÈÎÒâʱ¿Ìµã¿ªÊ¼,AG¿·¢K8¹ú¼Ê¾ÙÀýÁË´ÓÍ·(head) ºÍβ(end)µÄÁ½ÖÖ·½Ê½.
- ÕâЩAPIµÄ¹Ø¼ü´ÊÊÇ: ÌØÐ§:(Effect), Ö¸¶¨Ê±¼äµãÔö¼ÓÌØÐ§:(addEffectAtCompTimeUs); Ô¤ÀÀÌØÐ§(playEffect), ÒÆ³ýÌØÐ§:(removeEffect).
- Ö´Ðв½Öè, ºÍ¶¯»²½ÖèÒ»ÖÂ.
3.11¡¢Í¼²ãÖ®--»²¼(±³¾°)/ȥˮӡ/͸Ã÷/¾µÏñ
- »²¼ÊǶԵ±Ç°Ã¿¸öͼ²ã×öµÄ²Ù×÷, ÊÇÎÞÂÛͼ²ãËõ·Å¶àÉÙ, »²¼¶¼»áÆÌÂúÕû¸öÈÝÆ÷, »²¼¿ÉÒÔÊÇÑÕÉ«, ͼƬ, »ò»ÃæµÄÐ黯×ö±³¾°£»
- ȥˮӡµ±Ç°Ö§³ÖÂíÈü¿Ëȥˮӡ, AG¿·¢K8¹ú¼ÊÔÚͼ²ãÀàÖоÙÀýÁË×î´ó4¸öȥˮӡµÄAPI, ¿ÉÒÔÉèÖÃλÖÃ,ÉèÖôóС,ÉèÖÃÂíÈü¿ËÏñËØµÄ´óС; Èç¹ûÄãÓиü¶à¸öÂíÈü¿ËµÄÐèÇó,»¹ÊÇÓÃLanSongMosaicRectFilter×ÔÐÐÔö¼Ó;
- ͸Ã÷AG¿·¢K8¹ú¼ÊÃèÊöΪ:²»Í¸Ã÷¶È, ÕâÑù¸üºÃÀí½âһЩ, ºÍµ÷½ÚRGBÒ»Ñù,¿ÉÒÔÖ±½ÓÉèÖÃ; ²ÎÊý1.0ÊÇÍêÈ«²»Í¸Ã÷, 0.0ÊÇÍêȫ͸Ã÷;
- ¾µÏñ:ÊǰÑÕû¸ö»ÃæµÄ×ó±ß¾µÏñµ½ÓÒ±ß, °ÑÓұ߾µÏñµ½×ó±ß; Èç¹ûÄã´òËã°Ñ×ó±ßµÄÒ»°ë¾µÏñµ½ÓÒ±ß,ÔòÓÃAG¿·¢K8¹ú¼ÊµÄLanSongMirrorFilterÂ˾µ;
- ÕâЩAPIµÄ¹Ø¼ü´ÊÊÇ: ±³¾°(backGround), ȥˮӡ(mosaicRect), ²»Í¸Ã÷¶È(opacityPercent) , ¾µÏñ(mirror).
3.12¡¢Í¼²ãÖ®--»ñÈ¡ËõÂÔͼ
- ËõÂÔͼÊÇÿÃëÖÓÒ»Ö¡, ´óСÊÇ192x192µÄͼƬ¶ÔÏó;
- ÓÃgetDisplayThumbnailList »ñÈ¡µ½Ã¿ÕÅͼƬ´óСÊÇ192x192, ÿ¸öͼ²ã×îºó»ñÈ¡µ½µÄͼƬ¿í¶È×ܺ͵ÈÓÚͼ²ãµÄËõÂÔͼÏÔʾʱ³¤(ÃëΪµ¥Î»)*192;
- AG¿·¢K8¹ú¼ÊÓкϳÉ×Üʱ³¤¸Ä±ä»Øµ÷(DurationChanged): µ±ÔÊÓÆµÊ±³¤²Ã¼ô, ±äËÙ,µ¹Ðò,Ôö¼Óת³¡,¶¼»á´¥·¢´Ë»Øµ÷,½¨ÒéÔÚÕâÀïÖØÐÂË¢ÐÂËùÓÐµÄÆ´½Ó²ãµÄʱ³¤, ÒòΪһ¸öͼƬ»òÊÓÆµµÄʱ³¤¸Ä±äÁË, ±ðµÄͼƬºÍÊÓÆµµÄ¿ªÊ¼ÏÔʾµãµÈ¶¼»á¸Ä±ä;
- AG¿·¢K8¹ú¼ÊµÄdemoÑÝʾ, ÊÇÔÚdurationChangedµÄʱºòË¢ÐÂËùÓÐµÄÆ´½Ó²ãµÄËùÓÐͼ²ãËõÂÔͼ;
3.13¡¢Í¼²ãÖ®--¹Ø¼üÖ¡¶¯»
- ¹Ø¼üÖ¡¶¯»ÊÇÖ¸:ÔÚÁ½¸ö²»Í¬Ê±¼äµã·Ö±ð¶ÔÊÓÆµ»òͼƬ×ö¶¯×÷, È»ºóSDK¾Í»á×Ô¶¯´ÓÒ»¸öʱ¼äµãƽ»¬¹ý¶Éµ½ÁíÒ»¸öʱ¼äµã״̬µÄ¶¯», ³ÆÖ®Îª¹Ø¼üÖ¡¶¯»;
- ±ÈÈçÄãÔÚʱ¼äAµã°ÑÊÓÆµËõСһ±¶, ÔÚBµã°ÑÊÓÆµ·Å´óÒ»±¶, ÔòÔ¤ÀÀʱSDK¾Í»á×Ô¶¯µÄ´ÓAµãƽ»¬µÄÒ»µãÒ»µãµÄ·Å´óÊÓÆµ,Ö±µ½Bµã·Å´óÍê±Ï,´Ó¶øÐγɶ¯».
- µ±Ç°¹Ø¼üÖ¡¶¯»Ö§³Ö ÒÆ¶¯ÐýתËõ·Å͸Ã÷;
- ¹Ø¼üÖ¡µÄÓÅÏȼ¶×îµÍ, Èç¹ûÔÚͬһʱ¼ä¶ÎÉèÖÃÁ˹ؼüÖ¡ºÍ¶¯»/ÌØÐ§/ת³¡µÈjsonʱ, Ôò¶¯»/ÌØÐ§/ת³¡ÓÐЧ¹û, ¹Ø¼üÖ¡ÎÞЧ;
3.14¡¢Í¼²ãÖ®--µ÷ËÙ
- ÊÓÆµÖ§³Öµ÷ËÙ, µ÷ËÙ¿ÉÉèÖÃ0.1±¶µ½10.0±¶
- 0.1±¶ÊÇ·ÅÂý10±¶, »ÃæÏÔʾʱ³¤µÈÓÚÔÀ´µÄ10±¶, 10.0±¶ÊǼӿì10±¶, »ÃæÊ±³¤µÈÓÚÔÀ´µÄ1/10; 1.0 ±¶ÊÇÔÀ´µÄËÙ¶È, ¿ÉÒÔºÜϸСµÄµ÷½Ú,±ÈÈç0.1, 0.2, 0.3µÈ;
- µ±Ç°ÔÚµ÷ËÙʱ, ÔÝʱ²»Ö§³ÖÉùÒô±äËÙ; ÉùÒôĬÈÏÊǾ²ÒôµÄ; µ÷ËÙºó,»á´¥·¢ÈÝÆ÷µÄdurationChanged»Øµ÷, ½¨ÒéÄãÔڻص÷ÖÐȥˢÐÂËùÓÐËõÂÔͼ;
- ¶ÔÓ¦µÄAPI ÊÇ: setVideoSpeed, getVideoSpeed;
3.15¡¢ÉùÒôͼ²ã
- Íâ½çÊäÈëµÄ¸÷ÖÖÒôЧ, ÎÞÂÛÊÇwav¸ñʽµÄÒôЧ, »¹ÊÇmp3,m4a, »òÕß¼Òô »òÕß´øÓÐÉùÒôµÄÊÓÆµ, AG¿·¢K8¹ú¼Êͳ³ÆÎªÉùÒô. ÕâЩÉùÒôÊÇͬһ¸öAPIÊäÈëµ½SDKÖÐ, È»ºóµÃµ½¶ÔÓ¦µÄÉùÒôͼ²ã.
- ÉùÒôͼ²ã, ¿ÉÒÔÖ¸¶¨Ê±¼äµãÔö¼Ó, ¿ÉÒÔÉèÖÃÑ»·, ÉèÖðÑÉùÒôµÄÄÇÒ»¶Î²Ã¼ôºóÔö¼Ó, ÉèÖÃÒôÁ¿´óС, ÉèÖõÈëµ³öЧ¹û
- ÉùÒôÒôÁ¿·¶Î§ÊÇ0---5.0 , 1.0ÊÇĬÈÏÉùÒô. 0.0ÊǹرÕÉùÒô; 5.0ÊÇ·Å´ó5±¶; ÉùÒô²Ã¼ô×îСÊÇ300ºÁÃë, ×î´óÊÇÉùÒôµÄÔʼ³¤¶È;
- ÕâЩAPIµÄ¹Ø¼ü´ÊÊÇ: ÒôƵͼ²ã:(LSOAudioLayer); ²Ã¼ôʱ³¤(setCutStartTime/setCutEndTime) ÒôÁ¿:(volume)
3.16¡¢API½éÉÜ
3.16.1 AndroidÊÓÆµ±à¼SDK¸ÅÊö:
- AG¿·¢K8¹ú¼Ê°ÑÊÓÆµ±à¼³éÏóΪÁ½¸öÀà, Ò»¸öÊDZà¼Ô¤ÀÀÀàLSOEditPlayer, Ò»¸öͼ²ãÀàLSOLayer¡£
- ²¥·ÅÔ¤ÀÀÀàLSOEditPlayer, ÊÇÒ»¸öËØ²ÄÈÝÆ÷, Ò²ÊÇÒ»¸öview,¿É²¼¾Öµ½xmlÖÐ,µ±ÉèÖÿí¸ß±ÈÀýʱ,»á×Ô¶¯ÊÊÅä²¢µÈ±ÈÀý²¼¾Ö²¥·Å»Ãæ,ÒÔ¼àÌý·µ»Ø. ¿ÉÍê³ÉËØ²ÄµÄ:²åÈë»òɾ³ý,Ìæ»»,Æ´½Ó,µþ¼Ó,¶¨Î»,²¥·Å/ÔÝÍ£µÈʵʱÈÝÆ÷Ô¤ÀÀµÄ¹¦ÄÜ¡£
- ͼ²ãÀàLSOLayer: ͼƬ/ÊÓÆµ/Îı¾/ÌØÐ§/GIFµÈÔö¼Óµ½²¥·ÅÆ÷Öкó,AG¿·¢K8¹ú¼Ê°ÑËû´¦Àí³ÉÒ»²ã»Ãæ ,Ôö¼ÓÒ»¸ö, ¾ÍÊÇÔö¼ÓÒ»²ã»Ãæ;Ôö¼Óʱ»á·µ»ØLSOLayer¶ÔÏó,ÓÃÕâ¸ö¶ÔÏó¿ÉÒÔÉèÖÃ:ʱ¼äµã,λÖÃ,¿í¸ß,½Ç¶È,¾µÏñ,µ¹Ðò,Â˾µ,µ÷½Ú,ÃÀÑÕ,¶¯»,ת³¡,ÌØÐ§µÈ¹¦ÄÜ¡£
- µ÷ÓÃÁ÷³ÌÊÇ:ÔÚActivityµÄonCreate/onPause/onResume/onDestroyÉúÃüÖÜÆÚÖÐ, ·Ö±ðÔö¼ÓLSOEditPlayer¶ÔÓ¦µÄͬÃû·½·¨¼´¿É¡£
- ËØ²ÄÔö¼ÓµÄÐÎʽÓÐÁ½ÖÖ, Ò»ÖÖÊÇǰºóÆ´½Ó, Ò»ÖÖÊÇÉÏϵþ¼Ó, ʾÒâͼÈçÏÂ:
1¡¢AndroidÊÓÆµ²¥·ÅLSOEditPlayerÀà˵Ã÷
- public void onCreateAsync(LSORatioType ratio, OnCreateListener listener)
¹¦ÄÜ:
? ÉèÖò¥·ÅÈÝÆ÷¿í¸ß±È;
? ÔÚActivityµÄ onCreateÖе÷ÓÃ,ÉèÖò¥·ÅÈÝÆ÷µÄ¿í¸ß±È, ÉèÖúó, »á¸ù¾Ý¿í¸ß±ÈµÈ±ÈÀýËõ·Åµ½µ±Ç°viewËùÔÚlayoutÖÐ;
Ò²¿ÉÒÔÔÚ²¥·ÅÔÝͣʱ, ÖØÐ´²¼¾Ö´Ë²¥·ÅÈÝÆ÷(relayout);
²ÎÊý£º
? ratio ¿í¸ß±È;
? listener ÖØÐ²¼¾Öºó, ÊÊÅäµ½layoutºóµÄ»Øµ÷;
- public void onCreateAsync(List<LSOAsset> arrays, OnCreateListener listener)
¹¦ÄÜ£º
? ÉèÖò¥·ÅÈÝÆ÷µÄ×ÊÔ´
²ÎÊý£º
? arrays ÈÝÆ÷×ÊÔ´Êý×é, Ö§³ÖͼƬºÍÊÓÆµ.
? listener ĬÈÏ»áÒÔµÚÒ»¸öͼƬ»òÊÓÆµµÄ¿í¶ÈΪ²Î¿¼,µÈ±ÈÀýËõ·Åµ±Ç°²¥·ÅÈÝÆ÷ºó»Øµ÷;
- public void onCreateAsync(List<LSOAsset> arrays,int width, int height, OnCreateListener listener)
¹¦ÄÜ£º
? ÉèÖò¥·ÅÈÝÆ÷×ÊÔ´, ²¢ÉèÖÿí¶ÈºÍ¸ß¶È
²ÎÊý£º
? arrays ÊäÈëµÄͼƬ»òÊÓÆµ×ÊÔ´;
? width ²¥·ÅÈÝÆ÷µÄ¿í¶È
? height ²¥·ÅÈÝÆ÷µÄ¸ß¶È
? listener ¸ù¾ÝÉèÖõĸ߶ȺͿí¶È, ÖØÐµȱÈÀý²¼¾Öµ±Ç°view, ²¼¾Öºó·µ»Ø¼àÌý;
- public void onCreateAsync(int width,int height, OnCreateListener listener)
¹¦ÄÜ£º
? ÉèÖÃÈÝÆ÷µÄ¿í¶ÈºÍ¸ß¶È, ÔÚ²¥·ÅÉèÖÃ, ²»¿ÉÒÔÓÃÀ´³õʼ»¯²¥·ÅÆ÷;
? ÔÚµÚÒ»´ÎÖ®ºóÉèÖÃ
²ÎÊý£º
? width ¿í¶È
? height ¸ß¶È
? listener ÊÊÅ䵱ǰviewºóµÄ¼àÌý;
- public void onResumeAsync(OnResumeListener listener)
¹¦ÄÜ£º
? ÔÚActivityµÄ onResumeÖе÷ÓÃ, ÓÃÀ´Ö´ÐÐactivityµÄ·µ»ØÊ¼þ;
²ÎÊý£º
? listener Òì²½»Øµ÷;
- public void onPause()
¹¦ÄÜ£º
? ÔÚActivityÖеÄonPauseÖе÷ÓÃ;
- public void onDestroy()
¹¦ÄÜ£º
? ÔÚActivityµÄonDestroyÖе÷ÓÃ
- public void prepareConcatAssets(OnAddAssetProgressListener listener)
¹¦ÄÜ£º
? ÔÚµ±Ç°View²¼¾ÖÍê±Ïºó, ×¼±¸µ±Ç°²¥·ÅÆ÷;
²ÎÊý£º
? listener ÄÚ²¿»á¿ªÆôÒ»¸öÏß³Ì, ÄÚ²¿¿ªÆôÍê±ÏºóµÄ»Øµ÷;
- public void insertConcatAssetAtCurrentTime(List<LSOAsset> assetArray, OnAddAssetProgressListener listener1)
¹¦ÄÜ£º
? ÔÚµ±Ç°Ê±¼äµã²åÈëͼƬ»òÊÓÆµ
²ÎÊý£º
? assetArray ²åÈëµÄͼƬ»òÊÓÆµÊý×é
? listener1 ²åÈëÍê±ÏºóµÄ»Øµ÷;
- public void insertConcatAssetWithTime(List<LSOAsset> assetArray, long atCompUs, OnAddAssetProgressListener listener1)
¹¦ÄÜ£º
? ÔÚÖ¸¶¨µÄʱ¼äµã²åÈëͼƬ»òÊÓÆµ.
? ÄÚ²¿Á÷³ÌÊÇ:
? ÏÈÕÒÖ¸¶¨Ê±¼äµã ÔÚij¸öͼ²ãʱ¼ä¶ÎÄÚ.
? ÕÒµ½Í¼²ãºó, Èç¹ûʱ¼äµãÔÚͼ²ãǰ°ë²¿·Ö,ÔòÏòǰ²åÈë; Èçºó°ë²¿·Ö,ÔòÏòºó²åÈë;
²ÎÊý£º
? assetArray ²åÈëµÄͼƬ»òÊÓÆµÊý×é
? atCompUs ÔÚÖ¸¶¨µÄʱ¼äµã
? listener1 Òì²½²åÈëÍê±ÏºóµÄ»Øµ÷;
- public void replaceConcatLayerAsync(LSOAsset asset, LSOLayer replaceLayer, OnAddAssetProgressListener listener)
¹¦ÄÜ£º
? Ìæ»»Æ´½Óͼ²ã;
²ÎÊý£º
? asset ×ÊÔ´
? replaceLayer ±»Ìæ»»µÄͼ²ã
? listener Òì²½Ìæ»»;
- public LSOLayer getCurrentConcatLayerByTime(long compUs)
¹¦ÄÜ£º
? »ñȡָ¶¨Ê±¼äµãµÄÆ´½Óͼ²ã
²ÎÊý£º
? compUs Ö¸¶¨Ê±¼äµã, µ¥Î»Î¢Ãë; 1Ãë=1000*1000΢Ãë
? @return ·µ»ØÍ¼²ã¶ÔÏó
- public void addAssetAsync(LSOAsset asset, long atCompUs,OnAddAssetProgressListener listener1)
¹¦ÄÜ£º
? ÔÚÆ´½Ó²ãÉϵþ¼ÓÒ»¸ö×ÊÔ´;
²ÎÊý£º
? asset ͼƬ»òÊÓÆµ×ÊÔ´
? atCompUs Ö¸¶¨Ê±¼äµã
? listener1 Òì²½Ôö¼ÓÍê±ÏºóµÄ»Øµ÷¼àÌý;
- public void addVideoEffectAsync(LSOAsset asset, long atCompUs, boolean preview, OnAddAssetProgressListener listener1)
¹¦ÄÜ£º
? ÔÚÖ¸¶¨Ê±¼äµãÔö¼ÓÒ»¸öÊÓÆµÌØÐ§, Ôö¼Óºó, ͨ¹ýÒì²½·µ»ØÒ»¸öLSOLayer¶ÔÏó;
²ÎÊý£º
? asset Ò»¸öcolorºÍÒ»¸ömask×é³ÉµÄ͸Ã÷ÊÓÆµ¶¯»×ÊÔ´, ¿í¸ß:×î´ó720p, ʱ³¤:×î´ó5ÃëÖÓ;
? atCompUs ÔÚÖ¸¶¨Ê±¼äµã
? preview ²åÈëºó, ÊÇ·ñÔ¤ÀÀ
? listener1 ²åÈëÍê±ÏºóµÄ»Øµ÷,»Øµ÷ÖÐ
- public LSOLayer addBitmapLayer(String path, long atCompUs)
¹¦ÄÜ£º
? ÔÚÆ´½Ó²ãÉϵþ¼ÓÒ»¸öͼƬͼ²ã
²ÎÊý£º
? path ͼƬµÄÍêÕû·¾¶
? atCompUs ÔÚÖ¸¶¨Ê±¼äµãÔö¼Ó, µ¥Î»Î¢Ãë
- public LSOLayer addBitmapLayer(Bitmap bmp, long atCompUs)
¹¦ÄÜ£º
? Ôö¼ÓͼƬͼ²ã,
²ÎÊý£º
? bmp ͼƬ¶ÔÏó;
? atCompUs ÔÚÖ¸¶¨Ê±¼äµãÔö¼Ó,µ¥Î»Î¢Ãë;
- public LSOLayer addGifLayer(String gifPath, long atCompUs)
¹¦ÄÜ£º
? ÔÚÆ´½Ó²ãÉÏ, Ôö¼ÓÒ»¸öGifͼ²ã
²ÎÊý£º
? gifPath gifͼ²ã·¾¶
? atCompUs ÔÚÖ¸¶¨Ê±¼äµãÔö¼Ó,µ¥Î»Î¢Ãë;
- public LSOLayer addGifLayer(LSOAsset asset, long atCompUs)
¹¦ÄÜ£º
? ÔÚÆ´½Ó²ãÉÏ, Ôö¼ÓÒ»¸öGifͼ²ã
²ÎÊý£º
? asset gifÎļþµÄ·¾¶
? atCompUs ÔÚÖ¸¶¨Ê±¼äµãÔö¼Ó,µ¥Î»Î¢Ãë;
? @return ·µ»ØLSOLayerͼ²ã¶ÔÏó. ´Ë¶ÔÏó¿ÉÉèÖÃͼ²ãµÄÒÆ¶¯ÐýתËõ·ÅµÈ¹¦ÄÜ.
- public LSOAudioLayer addAudioLayer(String path, long startTimeOfComp)
¹¦ÄÜ£º
? Ôö¼ÓÉùÒôͼ²ã;
²ÎÊý£º
? path ÉùÒôµÄÍêÕû·¾¶;
? startTimeOfComp ´ÓºÏ³ÉµÄʲôλÖÿªÊ¼Ôö¼Ó;
? @return ·µ»ØÉùÒô¶ÔÏó, ¿ÉÒÔÉèÖÃÉùÒôµÄÒôÁ¿, Ñ»·µÈ¹¦ÄÜ;
- public void removeLayerAsync(LSOLayer layer)
¹¦ÄÜ£º
? Ò첽ɾ³ýͼ²ã;
? ɾ³ý³É¹¦ºó, »á´¥·¢ÈÝÆ÷ʱ³¤»Øµ÷, Ôڻص÷ÖÐÄã¿ÉÒÔÖØÐ²¼¾Öʱ¼äÖá
²ÎÊý£º
? layer ͼ²ã¶ÔÏó;
- public void removeAllOverlayLayersAsync()
¹¦ÄÜ£º
? ɾ³ýËùÓеĵþ¼Óͼ²ã.
? µþ¼Óͼ²ãÓÐ:ͼƬͼ²ã, gifͼ²ã, ͼƬÐòÁÐͼ²ãµÈ;
- public void removeAudioLayerAsync(LSOAudioLayer layer)
¹¦ÄÜ£º
? ɾ³ýÉùÒôͼ²ã
²ÎÊý£º
? layer
- public void removeALLAudioLayer()
¹¦ÄÜ£º
? ɾ³ýËùÓеÄÔö¼ÓµÄÉùÒôͼ²ã;
- public boolean isPlaying()
¹¦ÄÜ£º
? »ÃæÊÇ·ñÔÚ²¥·Å
²ÎÊý£º
? @return ÊÇ·ñÔÚ²¥·Å
- public boolean isRunning()
¹¦ÄÜ£º
? µ±Ç°²¥·ÅÆ÷ÊÇ·ñÔÚÔËÐÐ.
? ºÏ³ÉÊÇÒ»¸öÏß³Ì, ´Ë·µ»ØµÄÊǵ±Ç°Ïß³ÌÊÇ·ñÔÚÔËÐÐ,
? Ïß³ÌÔËÐв»Ò»¶¨»ÃæÔÚ²¥·Å,ÓпÉÄÜ»ÃæÔÝÍ£;
²ÎÊý£º
? @return Ïß³ÌÊÇ·ñÔÚÔËÐÐ
- public boolean isExporting()
¹¦ÄÜ£º
? ÊÇ·ñÔÚµ¼³ö;
²ÎÊý£º
? @return
- public long getCurrentPositionUs()
¹¦ÄÜ£º
? »ñÈ¡µ±Ç°²¥·ÅÆ÷µÄʱ¼ä.
²ÎÊý£º
? @return µ±Ç°Ê±¼ä, µ¥Î»Î¢Ãë
- public List<LSOLayer> getAllConcatLayers()
¹¦ÄÜ£º
? »ñÈ¡²¥·ÅÆ÷µÄËùÓÐÆ´½Óͼ²ã;
²ÎÊý£º
? @return ͼ²ãlist Æ´½Óͼ²ã;
- public List<LSOLayer> getAllOverLayLayers()
¹¦ÄÜ£º
? »ñÈ¡²¥·ÅÆ÷ÖеÄËùÓеþ¼Ó²ã
²ÎÊý£º
? @return ͼ²ãÊý×é, µþ¼ÓµÄͼ²ã;
- public List<LSOAudioLayer> getAllAudioLayers()
¹¦ÄÜ£º
? »ñÈ¡²¥·ÅÆ÷ÖеÄËùÓÐÉùÒôͼ²ã
- public void setOnBeforeRenderFrameListener(OnLanSongSDKBeforeRenderFrameListener listener)
¹¦ÄÜ£º
? ÔÚÿһ֡»æÖÆÇ°µÄ»Øµ÷, ÀïÃæÃ»Óо¹ýhandler, ÄãÔö¼ÓµÄ´úÂë, ÔÚAG¿·¢K8¹ú¼ÊrenderÏß³ÌÖÐÖ´ÐÐ,
²ÎÊý£º
? listener ·µ»ØµÄÊÇʱ¼ä´Á, µ¥Î»us;
- public void setOnDurationChangedListener(OnLanSongSDKDurationChangedListener listener)
¹¦ÄÜ£º
? ÈÝÆ÷µÄ×Üʱ³¤¸Ä±ä¼àÌý£»²¥·ÅÆ÷»áÔÚÆ´½Ó²ã²Ã¼ô, ÉèÖÃÏÔʾʱ¼ä, ת³¡,±äËٵȳ¡ºÏÏÂ, ʱ³¤¸Ä±ä;
? ·µ»ØµÄÊǵ±Ç°×Üʱ³¤;
²ÎÊý£º
? listener ×Üʱ³¤¸Ä±ä¼àÌý, ·µ»ØµÄlongÀàÐ͸ıäºóµÄµ±Ç°×Üʱ³¤
- public void setOnLanSongSDKPlayProgressListener(OnLanSongSDKPlayProgressListener listener)
¹¦ÄÜ£º
? ²¥·Å½ø¶È»Øµ÷
? ¼àÌýÖеÄÁ½¸ö²ÎÊýÊÇ: onLanSongSDKExportProgress(long ptsUs, int percent);
? ·Ö±ð¶ÔÓ¦ µ±Ç°´¦ÀíµÄʱ¼ä´Á ºÍ°Ù·Ö±È;
? ÔÚseek»òpauseµÄʱºò,´Ë¼àÌý²»µ÷ÓÃ;
²ÎÊý£º
? listener
- public void setOnTimeChangedListener(OnLanSongSDKTimeChangedListener listener)
¹¦ÄÜ£º
? ÈÝÆ÷µÄµ±Ç°²¥·Åʱ¼ä¸Ä±ä»Øµ÷;
? Ö»ÒªÊǸıäÁË, ²»¹ÜÊÇseekµÄ¸Ä±ä,»¹ÊÇ×Ô¶¯²¥·ÅµÄ¸Ä±ä,¶¼Ö´ÐÐÕâÀï;
²ÎÊý£º
? listener ʱ¼ä¸Ä±ä¼àÌý longÀàÐÍÊǵ±Ç°Ê±¼ä´Á, intÀàÐÍÊǵ±Ç°Ê±¼ä´ÁÕ¼×Üʱ³¤µÄ°Ù·Ö±È;
- public void setOnPlayCompletedListener(OnLanSongSDKPlayCompletedListener listener)
¹¦ÄÜ£º
? ÊÓÆµ²¥·ÅÍê³É½ø¶È;
²ÎÊý£º
? listener ²¥·ÅÍê³É¼àÌý
- public void setOnExportProgressListener(OnLanSongSDKExportProgressListener listener)
¹¦ÄÜ£º
? µ¼³ö½ø¶È»Øµ÷;
? ¼àÌýÖеÄÁ½¸ö²ÎÊýÊÇ: onLanSongSDKExportProgress(long ptsUs, int percent);
? ·Ö±ð¶ÔÓ¦ µ±Ç°´¦ÀíµÄʱ¼ä´Á ºÍ°Ù·Ö±È;
²ÎÊý£º
? listener µ¼³ö½ø¶È¼àÌý, longÀàÐÍÊǵ±Ç°ÕýÔÚ´¦ÀíµÄʱ¼ä´Á, intÀàÐÍÊǽø¶È°Ù·Ö±È;
- public void setOnExportCompletedListener(OnLanSongSDKExportCompletedListener listener)
¹¦ÄÜ£º
? µ¼³öÍê³É»Øµ÷;
? Íê³Éºó, ÓÐ void onLanSongSDKExportCompleted(String dstVideo);
? ¶ÔÓ¦µÄÊÇ:·µ»ØÍê³ÉºóµÄÄ¿±êÊÓÆµÂ·¾¶;
²ÎÊý£º
? listener µ¼³öÍê³É¼àÌý, ·µ»ØStringÀàÐ͵ĵ¼³öÊÓÆµÍêÕû·¾¶;
- public void setOnErrorListener(OnLanSongSDKErrorListener listener)
¹¦ÄÜ£º
? ´íÎó¼àÌý
- public boolean start()
¹¦ÄÜ£º
? ¿ªÊ¼²¥·Å/»Ö¸´²¥·Å;
- public void startExport(LSOExportType type)
¹¦ÄÜ£º
? ¿ªÊ¼µ¼³ö
²ÎÊý£º
? type µ¼³öö¾ÙÀàÐÍ
- public void seekToTimeUs(long timeUs)
¹¦ÄÜ£º
? ¶¨Î»µ½Ä³¸öλÖÃ.
²ÎÊý£º
? timeUs ʱ¼ä, µ¥Î»Î¢Ãë;
- public void pause()
¹¦ÄÜ£º
? ²¥·ÅÔ¤ÀÀÔÝÍ£
- public long getDurationUs()
¹¦ÄÜ£º
? »ñÈ¡µ±Ç°²¥·ÅÆ÷µÄ×Üʱ³¤;
²ÎÊý£º
@return ʱ¼ä, µ¥Î»Î¢Ãë;
- public void setLooping(boolean is)
¹¦ÄÜ£º
? ÉèÖÃÈÝÆ÷Ñ»·²¥·Å;
²ÎÊý£º
? is ÊÇ·ñÑ»·;
- public void cancelExport()
¹¦ÄÜ£º
? È¡Ïûµ¼³ö
- public void cancel()
¹¦ÄÜ£º
? È¡Ïûµ±Ç°ºÏ³É.
? È¡Ïûºó, »á°ÑÄÚ²¿Ïß³ÌÈ«²¿Í˳ö, ËùÓÐÔö¼ÓµÄͼ²ã¶¼»áÊÍ·Å;
- public void setFrameRate(int frameRate)
¹¦ÄÜ£º
? ÉèÖõ¼³öÖ¡ÂÊ
? ²»½¨ÒéʹÓÃ
²ÎÊý£º
? frameRate Ö¡ÂÊ×îС20,×î´óÊÇ60
- public void setExportBitRate(int bitRate)
¹¦ÄÜ£º
? ÉèÖõ¼³öʱµÄÂëÂÊ,
? ²»½¨ÒéʹÓÃ
²ÎÊý£º
? bitRate ÂëÂÊ, ×îСÊÇ300K,²»½¨ÒéʹÓÃ;
2¡¢AndroidÊÓÆµ±à¼Í¼²ãLSOLayerÀà˵Ã÷
- public String getOriginalPath()
¹¦ÄÜ£º
? »ñÈ¡ÔÊÓÆµ/ͼƬµÄ·¾¶
²ÎÊý£º
? @return
- public long getOriginalDurationUs()
¹¦ÄÜ£º
? »ñÈ¡ÊÓÆµ/ͼƬµÄÔʼʱ³¤
²ÎÊý£º
? @return
- public int getOriginalWidth()
¹¦ÄÜ£º
? »ñÈ¡Ôʼ¿í¶È
²ÎÊý£º
? @return
- public int getOriginalHeight()
¹¦ÄÜ£º
? »ñÈ¡Ôʼ¸ß¶È
²ÎÊý£º
? @return
- public long getDisplayDurationUs()
¹¦ÄÜ£º
? »ñÈ¡ÏÔʾʱ³¤;
? Èç¹û²¥·ÅÆ÷ÖÐÖ»ÓÐÒ»¸öÊÓÆµ»òͼƬ, Ôò´Ëʱ³¤µÈÓÚ²¥·ÅÆ÷µÄʱ³¤;
²ÎÊý£º
? @return
- public long getThumbnailDurationUs()
¹¦ÄÜ£º
? »ñÈ¡ËõÂÔͼµÄÏÔʾʱ¼ä;
? ×¢: Òòת³¡µÈ¹¦ÄÜ,Æ´½Ó²ã¿ÉÄÜÓÐÖØµþÇøÓò. Òò´ËÏÔʾʱ³¤²»µÈÓÚËõÂÔͼµÄʱ³¤;
²ÎÊý£º
? @return
- public void setDisplayDurationUs(long durationUs)
¹¦ÄÜ£º
? ÉèÖÃÏÔʾʱ³¤;
²ÎÊý£º
? durationUs
- public long getStartTimeOfComp()
¹¦ÄÜ£º
? »ñÈ¡µ±Ç°Í¼²ãÔÚ²¥·ÅÆ÷ÖеĿªÊ¼Ê±¼ä
²ÎÊý£º
? @return
- public void setCutDurationUs(long startUs, long endUs)
¹¦ÄÜ£º
? ÉèÖÃÊÓÆµµÄ²Ã¼ôʱ³¤
²ÎÊý£º
? startUs ¿ªÊ¼²Ã¼ôʱ¼ä
? endUs ½áÊø²Ã¼ôʱ¼ä
- public long getCutStartTimeUs()
¹¦ÄÜ£º
? »ñÈ¡²Ã¼ô¿ªÊ¼Ê±¼ä
²ÎÊý£º
? @return
- public long getCutEndTimeUs()
¹¦ÄÜ£º
? »ñÈ¡²Ã¼ô½áÊøÊ±¼ä
²ÎÊý£º
? @return
- public void setCropRect(LSORect rect)
¹¦ÄÜ£º
? ÉèÖòüôÇøÓò;
²ÎÊý£º
? @param rect
- public void setCropRectToOriginal()
¹¦ÄÜ£º
? »Ö¸´µ½²»²Ã¼ô
- public void setCropRectPercent(float x, float y, float width, float height)
¹¦ÄÜ£º
? ÉèÖòüô°Ù·Ö±È.Õû¸ö»Ãæ´Ó×óµ½ÓÒÊÇ0.0--1.0; ´ÓÉϵ½ÏÂÊÇ0.0--1.0;
²ÎÊý£º
? x ¿í¶ÈµÄ¿ªÊ¼±ÈÀý
? y ²Ã¼ô¸ßµÄ¿ªÊ¼±ÈÀý
? width ²Ã¼ô¿í¶ÈµÄ±ÈÀý
? height ²Ã¼ô¸ß¶ÈµÄ±ÈÀý
- public void setLooping(boolean is)
¹¦ÄÜ£º
? µþ¼Ó²ãÉèÖÃÑ»·
²ÎÊý£º
? is
- public void setStartTimeOfComp(long atCompUs)
¹¦ÄÜ£º
? ÉèÖõ±Ç°Í¼²ãÔÚ²¥·ÅÆ÷ÖеĿªÊ¼Ê±¼äµã;
²ÎÊý£º
? atCompUs
- public void setVisibility(boolean is)
¹¦ÄÜ£º
? ÉèÖÃÊÇ·ñÏÔʾ
²ÎÊý£º
? is
- public void setVisibility(int visibility)
¹¦ÄÜ£º
? ÉèÖÃÊÇ·ñÏÔʾ
? ÀàÐÍÊÇ LSOLayer.VISIBLE ºÍ LSOLayer.INVISIBLE
²ÎÊý£º
? visibility
- public int getVisibility()
¹¦ÄÜ£º
? »ñÈ¡ÊÇ·ñÏÔʾ
²ÎÊý£º
? @return
- public void resetScaleSize()
¹¦ÄÜ£º
? »Ö¸´µ½Ëõ·ÅǰµÄ´óС
- public void setScaleType(LSOScaleType type)
¹¦ÄÜ£º
? ÉèÖÃËõ·Åö¾ÙÀàÐÍ.
? NONE: ÎÞËõ·ÅÐÎʽ.ÔòÄÚ²¿»á¸ù¾Ý²»Í¬µÄËØ²Ä,²ÉÓÃĬÈÏÐÎʽ;
? ORIGINAL: Ôʼ´óС,Ö±½Ó·ÅÈë, ²»×öÈÎÒâ´¦Àí;
? FILL_COMPOSITION, ºöÂÔ°Ù·Ö±È,°Ñ¿í¶ÈµÈÓÚÈÝÆ÷µÄ¿í¶È, ¸ß¶ÈµÈÓÚÈÝÆ÷µÄ¸ß¶È,ÌîÂúÕû¸öÈÝÆ÷,ÕâÑùÓÐЩ»Ãæ¿ÉÄÜ»á±äÐÎ;
? CROP_FILL_COMPOSITION: ²Ã¼ôÌîÂú ·ÅÈëµ½ÈÝÆ÷ÖÐ;°ÑÊÓÆµµÄÖÐÐĵã·Åµ½ÈÝÆ÷µÄÖÐÐĵã,È»ºó °Ñ»ÃæµÈ±ÈÀýÌáÌîÂúÕû¸öÈÝÆ÷,°Ñ¶àµÄ²¿·Ö²Ã¼ôµô.
? VIDEO_SCALE_TYPE:ÊÓÆµËõ·Åģʽ,Èç¹ûÊÓÆµ¿í¶È´óÓڸ߶È, Ôò¿í¶ÈºÍÈÝÆ÷¶ÔÆë, È»ºóµÈ±ÈÀýµ÷Õû¸ß¶È;Èç¹û¸ß¶È´óÓÚ¿í¶È, Ôò·´Ö®.
²ÎÊý£º
? type
- public void setScaledValue(float width, float height)
¹¦ÄÜ£º
? Ëõ·Åµ½µÄʵ¼ÊÖµ
²ÎÊý£º
? width
? height
- public float getScaleWidth()
¹¦ÄÜ£º
? »ñÈ¡Ëõ·ÅµÄ¿í¶È
²ÎÊý£º
? @return
- public float getScaleHeight()
¹¦ÄÜ£º
? »ñÈ¡Ëõ·ÅµÄ¸ß¶È
²ÎÊý£º
? @return
- public float getRotation()
¹¦ÄÜ£º
? »ñÈ¡Ðýת½Ç¶È.
²ÎÊý£º
? @return
- public void setRotation(float angle)
¹¦ÄÜ£º
? ÉèÖÃÐýת½Ç¶È
²ÎÊý£º
? angle
- public void setLayerMirror(boolean flipHorizontal, boolean flipVertical)
¹¦ÄÜ£º
? ÉèÖÃͼ²ãÊÇ·ñ¾µÏñ, ÉÏϾµÏñ, ×óÓÒ¾µÏñ.
²ÎÊý£º
? flipHorizontal ˮƽ¾µÏñ
? flipVertical ´¹Ö±¾µÏñ
- public void cancelLayerMirror()
¹¦ÄÜ£º
? È¡Ïû¾µÏñ
- public boolean isMirrorX()
¹¦ÄÜ£º
? ˮƽÊÇ·ñ¾µÏñ
²ÎÊý£º
? @return
- public boolean isMirrorY()
¹¦ÄÜ£º
? ´¹Ö±ÊÇ·ñ¾µÏñ
²ÎÊý£º
? @return
- public void setPosition(float xPos, float yPos)
¹¦ÄÜ£º
? ÉèÖõ±Ç°Í¼²ãÖÐÐĵãµÄ×ø±ê, xPosÊÇXÖáµÄ×ø±ê,yPosÊÇÉèÖÃYÖáµÄ×ø±ê.
? ´Ë×ø±êÊÇÒÔ²¥·ÅÈÝÆ÷µÄ´óСΪ²Î¿¼, ±ÈÈçÈÝÆ÷µÄ´óСÊÇ1280x720, ÄúÉèÖÃÁË640,360 £¬Ôòͼ²ãÔÚ²¥·ÅÆ÷ÖоÓÖÐÏÔʾ
²ÎÊý£º
? xPos
? yPos
- public void setPosition(LSOLayerPosition position)
¹¦ÄÜ£º
? ÉèÖÃͼ²ãµÄö¾ÙλÖÃ;
? ö¾ÙÀàÐÍÓÐ: ×óÉÏ/×óÏÂ/ÓÒÉÏ/ÓÒÏÂ/¾ÓÖÐ/ÉÏ/ÏÂ/×ó/ÓÒ
- public float getPositionX()
¹¦ÄÜ£º
? »ñÈ¡µ±Ç°Í¼²ãÖÐÐĵãµÄλÖÃX
²ÎÊý£º
? @return ºáÏò×ø±êÖÐÐĵã, Ïà¶ÔÓÚ²¥·ÅÈÝÆ÷±¾Éí¶øÑÔ;
- public float getPositionY()
¹¦ÄÜ£º
? »ñÈ¡µ±Ç°Í¼²ãÖÐÐĵãµÄλÖÃY
²ÎÊý£º
? @return ÊúÏò×ø±êÖÐÐĵã, Ïà¶ÔÓÚ²¥·ÅÈÝÆ÷±¾Éí¶øÑÔ
- public void setOpacityPercent(float percent)
¹¦ÄÜ£º
? ÉèÖÃ͸Ã÷°Ù·Ö±È;
²ÎÊý£º
? percent °Ù·Ö±È ·¶Î§´Ó0--1.0;
- public void setBrightnessPercent2X(float percent2X)
¹¦ÄÜ£º
? µ÷½Úµ±Ç°Í¼²ã»ÃæµÄÁÁ¶È
²ÎÊý£º
? percent2X ·¶Î§ÊÇ0--2.0; 1.0ΪĬÈÏÖµ;
- public void setContrastFilterPercent2X(float percent2X)
¹¦ÄÜ£º
? µ÷½Úµ±Ç°Í¼²ã»ÃæµÄ¶Ô±È¶È
²ÎÊý£º
? percent2X ·¶Î§ÊÇ0--2.0; 1.0ΪĬÈÏÖµ;
- public void setSaturationFilterPercent2X(float percent2X)
¹¦ÄÜ£º
? µ÷½Ú»ÃæµÄ±¥ºÍ¶È;
²ÎÊý£º
? percent2X ·¶Î§ÊÇ0--2.0; 1.0ΪĬÈÏÖµ;
- public void setWhiteBalanceFilterPercent2X(float percent2X)
¹¦ÄÜ£º
? µ÷½Ú»ÃæµÄ°×ƽºâ
²ÎÊý£º
? percent2X ·¶Î§ÊÇ0--2.0; 1.0ΪĬÈÏÖµ;
- public void setHueFilterPercent2X(float percent2X)
¹¦ÄÜ£º
? µ÷½Ú»ÃæµÄÉ«¶È
²ÎÊý£º
? percent2X ·¶Î§ÊÇ0--2.0; 1.0ΪĬÈÏÖµ;
- public void setExposurePercent2X(float percent2X)
¹¦ÄÜ£º
? µ÷½Ú»ÃæµÄÆØ¹â¶È
²ÎÊý£º
? percent2X ·¶Î§ÊÇ0--2.0; 1.0ΪĬÈÏÖµ;
- public void setBeautyLevel(float level)
¹¦ÄÜ£º
? ÉèÖÃ»ÃæµÄĥƤ¼¶±ð 0.0--1.0;
²ÎÊý£º
? level µÈ¼¶ 0.0ÊDz»Ä¥Æ¤, 1.0ÊÇ×î¸ßĥƤ
- public void setFilter(LanSongFilter filter)
¹¦ÄÜ£º
? ÉèÖÃÂ˾µ, ÉèÖÃʱ, »á°ÑÉÏÒ»´ÎÉèÖõÄÂ˾µÉ¾³ý; Èç¹û²»Ïëɾ³ýÔòÓÃaddFilter;
²ÎÊý£º
? filter Â˾µ¶ÔÏó, ´Ë¶ÔÏ󲻿ÉͬʱÉèÖÃΪ¶à¸öͼ²ãÖÐ.
- public void removeFilter(LanSongFilter filter)
¹¦ÄÜ£º
? ÒÆ³öÂ˾µ
²ÎÊý£º
? filter Ôö¼ÓµÄÂ˾µ¶ÔÏó
- public void addFilter(LanSongFilter filter)
¹¦ÄÜ£º
? Ôö¼ÓÂ˾µ,ÈçÔö¼Ó¶à¸ö, Ôò¶à¸öÂ˾µÊǼ¶ÁªµÄ¹ØÏµ, ¼´»Ãæ°ÑÖ´ÐÐÉÏÒ»¸öÂ˾µµÄ½á¹û, ×÷ΪÏÂÒ»¸öÂ˾µµÄÊäÈë;
²ÎÊý£º
? filter Â˾µ¶ÔÏó
- public void removeAllFilter()
¹¦ÄÜ£º
? ɾ³ýËùÓÐÂ˾µ
- public void setVideoSpeed(float speed)
¹¦ÄÜ£º
? ÉèÖÃÊÓÆµËÙ¶È.
²ÎÊý£º
? speed ÊÓÆµËÙ¶ÈÖµ, ·¶Î§0.1--10.0;
- public float getVideoSpeed()
¹¦ÄÜ£º
? »ñÈ¡ÊÓÆµËÙ¶È;
²ÎÊý£º
? @return ·µ»ØËÙ¶ÈÖµ
- public void setVideoReverseAsync(boolean reverse, OnVideoReverseListener listener)
¹¦ÄÜ£º
? Òì²½ÉèÖÃÊÓÆµµ¹Ðò
²ÎÊý£º
? reverse ÊÇ·ñµ¹Ðò
? listener µ¹ÐòºóµÄ¼àÌý;
- public boolean isVideoReverse()
¹¦ÄÜ£º
? µ±Ç°ÊÓÆµÊÇ·ñµ¹Ðò
²ÎÊý£º
? @return ÊÇ·ñµ¹Ðò
- public LSOEffect addEffectAtCompTimeUs(String jsonPath, long compUs)
¹¦ÄÜ£º
? ÓÃjsonµÄÐÎʽÔö¼ÓÌØÐ§
²ÎÊý£º
? jsonPath Ôö¼ÓÒ»¸öÌØÐ§json·¾¶
? compUs ´Ó²¥·ÅÆ÷µÄʲôʱ¼äµã¿ªÊ¼Ôö¼Ó
? @return Ôö¼Óºó, ·µ»ØÌØÐ§¶ÔÏó, ¿ÉÉèÖÿªÊ¼Ê±¼äºÍ²¥·Åʱ³¤;
- public LSOEffect addEffectAtLayerHead(String jsonPath)
¹¦ÄÜ£º
? ÔÚͼ²ãµÄÍ·²¿Ôö¼ÓÒ»¸öÌØÐ§
²ÎÊý£º
? jsonPath json·¾¶
? @return Ôö¼Óºó, ·µ»ØÌØÐ§¶ÔÏó, ¿ÉÉèÖò¥·Åʱ³¤;
- public LSOEffect addEffectAtLayerEnd(String jsonPath)
¹¦ÄÜ£º
? ÔÚͼ²ãµÄβ²¿Ôö¼ÓÒ»¸öÌØÐ§
²ÎÊý£º
? jsonPath ÌØÐ§Â·¾¶
? @return Ôö¼Óºó, ·µ»ØÌØÐ§¶ÔÏó, ¿ÉÉèÖò¥·Åʱ³¤;
- public List<LSOEffect> getAllEffectList()
¹¦ÄÜ£º
? »ñÈ¡Ôö¼ÓµÄËùÓÐÌØÐ§
²ÎÊý£º
? @return ËùÓÐÌØÐ§Êý×é
- public void removeAllEffectList()
¹¦ÄÜ£º
? ÒÆ³öµ±Ç°Í¼²ãµÄËùÓÐÌØÐ§
- public void removeEffect(LSOEffect effect)
¹¦ÄÜ£º
? ÒÆ³öÖ¸¶¨µÄÌØÐ§
²ÎÊý£º
? effect
- public void playEffect(LSOEffect effect)
¹¦ÄÜ£º
? ²¥·ÅÔ¤ÀÀÌØÐ§
²ÎÊý£º
? effect Ö¸¶¨²¥·ÅµÄÌØÐ§¶ÔÏó,²¥·Åºó»á»Øµ½²¥·ÅǰµÄλÖÃ
- public LSOAnimation addAnimationAtCompTimeUs(String jsonPath, long compUs)
¹¦ÄÜ£º
? Ôö¼Ó¶¯»
²ÎÊý£º
? jsonPath json¸ñʽµÄ·¾¶
? compUs ´Ó²¥·ÅÆ÷µÄʱ¼äµãÔö¼Ó
? @return ·µ»Ø¶¯»¶ÔÏó, ¿ÉÉèÖÿªÊ¼Ê±¼äºÍ²¥·Åʱ³¤
- public LSOAnimation setAnimationAtLayerHead(String jsonPath)
¹¦ÄÜ£º
? ÔÚͼ²ãµÄÍ·²¿Ôö¼ÓÒ»¸ö¶¯»
²ÎÊý£º
? jsonPath json¶¯»Â·¾¶
? @return ·µ»Ø¶¯»¶ÔÏó, ¿ÉÉèÖò¥·Åʱ³¤
- public LSOAnimation setAnimationAtLayerEnd(String jsonPath)
¹¦ÄÜ£º
? ÔÚͼ²ãµÄβ²¿Ôö¼ÓÒ»¸ö¶¯»
²ÎÊý£º
? jsonPath ¶¯»Â·¾¶
? @return ·µ»Ø¶¯»¶ÔÏó, ¿ÉÉèÖò¥·Åʱ³¤
- public List<LSOAnimation> getAllAnimationList()
¹¦ÄÜ£º
? »ñÈ¡ËùÓж¯»
²ÎÊý£º
? @return ËùÓж¯»¶ÔÏó
- public void removeAllAnimationList()
¹¦ÄÜ£º
? ÒÆ³öËùÓж¯»
- public void removeAnimation(LSOAnimation animation)
¹¦ÄÜ£º
? ÒÆ³öÖ¸¶¨¶¯»
²ÎÊý£º
? animation Ö¸¶¨¶¯»¶ÔÏó
- public void playAnimation(LSOAnimation animation)
¹¦ÄÜ£º
? ²¥·Å¶¯»
²ÎÊý£º
? animation ¶¯»¶ÔÏó
- public boolean setTransitionMaskPath(String maskJsonPath)
¹¦ÄÜ£º
? ÉèÖÃת³¡Â·¾¶
²ÎÊý£º
? maskJsonPath ÕÚÕÖת³¡Â·¾¶
? @return ¿ÉÒÔÉèÖ÷µ»Øtrue; ·ñÔò·µ»Øfalse
- public void setTransitionDurationUs(long duration)
¹¦ÄÜ£º
? ÉèÖÃת³¡Ê±³¤
²ÎÊý£º
? duration ʱ³¤,·¶Î§100*100---3*1000*1000;
- public void playTransition()
¹¦ÄÜ£º
? ¿ªÊ¼²¥·Åת³¡
- public void cancelTransition()
¹¦ÄÜ£º
? È¡Ïûת³¡
- protected long getTransitionDurationUs()
¹¦ÄÜ£º
? »ñȡת³¡Ê±³¤;
²ÎÊý£º
? @return
- public long getTransitionStartTimeOfComp()
¹¦ÄÜ£º
? »ñÈ¡´ÓºÏ³ÉµÄ¿ªÊ¼Ê±¼ä;
²ÎÊý£º
? @return
- public LSOMosaicRect getMosaicRect1()
¹¦ÄÜ£º
? »ñȡһ¸öÂíÈü¿ËÇøÓò, ·µ»ØÂíÈü¿Ë¶ÔÏó,
? ¿ÉÉèÖÃÂíÈü¿ËÇøÓò, ÊÇ·ñ½ûÖ¹,ÂíÈü¿ËÏñËØµãµÄ¿í¶È;
²ÎÊý£º
? @return ÂíÈü¿Ë¶ÔÏó
- public void setAudioVolume(float volume)
¹¦ÄÜ£º
? ÉèÖÃÒôƵÒôÁ¿
- public float getAudioVolume()
¹¦ÄÜ£º
? »ñÈ¡ÒôƵÒôÁ¿
- public void setBackGroundBlurLevel(float level)
¹¦ÄÜ£º
? ÉèÖñ³¾°Ä£ºý¼¶±ð
? 1.0ÊÇÇá΢ģºý,ë²£Á§Ä£ºý. 8.0fÊÇÍêÈ«,Éî¶ÈÄ£ºý; 0.0ÊÇɾ³ýÄ£ºýЧ¹û;
²ÎÊý£º
? level
- public void setBackGroundBitmap(String bitmapPath)
¹¦ÄÜ£º
? ÉèÖñ³¾°Í¼Æ¬
²ÎÊý£º
? bitmapPath
- public void setBackGroundColor(int color)
¹¦ÄÜ£º
? ÉèÖñ³¾°ÑÕÉ«
²ÎÊý£º
? color
- public float getMaxBlurLevel()
¹¦ÄÜ£º
? »ñÈ¡×î´óÄ£ºýϵÊý, µ±Ç°·µ»ØµÄÊÇ8.0;
- public void getThumbnailAsync(OnLanSongSDKThumbnailBitmapListener listener)
¹¦ÄÜ£º
? Òì²½»ñÈ¡ËõÂÔͼ
²ÎÊý£º
? listener
- public List<Bitmap> getThumbnailListWithCount(int count)
¹¦ÄÜ£º
? »ñÈ¡ËõÂÔͼ¸öÊý, ´Ë·½·¨Ò»¶¨ÔÚgetThumbnailAsyncÍê³ÉºóÉèÖÃ
²ÎÊý£º
? count »ñÈ¡µÄͼƬÕÅÊý
? @return ·µ»ØbitmapÊý×é;
3.16.2 IOSÊÓÆµ±à¼SDK¸ÅÊö:
- AG¿·¢K8¹ú¼Ê°ÑÊÓÆµ±à¼³éÏóΪÁ½¸öÀà, Ò»¸öÊDZà¼Ô¤ÀÀÀàLSOEditPlayer, Ò»¸öͼ²ãÀàLSOLayer¡£
- ²¥·ÅÔ¤ÀÀÀàLSOEditPlayer,ºÍAVPlayerÀàËÆ, ÐèÒªÒ»¸ö²¥·Å´°¿ÚUIView,±¾ÖÊÊÇÒ»¸ö±à¼²¥·ÅÆ÷,¿ÉÍê³ÉËØ²ÄµÄ:²åÈë»òɾ³ý,Ìæ»»,¸´ÖÆ,·Ö¸î,Æ´½Ó,µþ¼Ó,¶¨Î»,²¥·Å/ÔÝÍ£µÈʵʱÈÝÆ÷Ô¤ÀÀµÄ¹¦ÄÜ¡£
- ͼ²ãÀàLSOLayer: ͼƬ/ÊÓÆµ/Îı¾/ÌØÐ§/GIFµÈÔö¼Óµ½²¥·ÅÆ÷Öкó,AG¿·¢K8¹ú¼Ê°ÑËû´¦Àí³ÉÒ»²ã»Ãæ ,Ôö¼ÓÒ»¸ö, ¾ÍÊÇÔö¼ÓÒ»²ã»Ãæ;Ôö¼Óʱ»á·µ»ØLSOLayer¶ÔÏó,ÓÃÕâ¸ö¶ÔÏó¿ÉÒÔÉèÖÃ:ʱ¼äµã,λÖÃ,¿í¸ß,½Ç¶È,¾µÏñ,µ¹Ðò,Â˾µ,µ÷½Ú,ÃÀÑÕ,¶¯»,ת³¡,ÌØÐ§µÈ¹¦ÄÜ¡£
- µ÷ÓÃÁ÷³ÌÊÇ: ´´½¨LSOEditPlayer¶ÔÏó, initʱ¿ÉÊäÈëͼƬ»òÊÓÆµµÄurl·¾¶ºÍ²¥·ÅÆ÷±ÈÀý,µÃµ½²¥·ÅÆ÷ÈÝÆ÷µÄ¿í¸ß,¸ù¾Ý¿í¸ß´´½¨LSODispLayView×÷Ϊ²¥·ÅÆ÷µÄÏÔʾ´°¿Ú, Ö®ºóÕý³£²¥·Å¼´¿É.
- ËØ²ÄÔö¼ÓµÄÐÎʽÓÐÁ½ÖÖ, Ò»ÖÖÊÇǰºóÆ´½Ó, Ò»ÖÖÊÇÉÏϵþ¼Ó, ʾÒâͼÈçÏÂ:
1¡¢IOSÊÓÆµ²¥·ÅLSOEditPlayerÀà˵Ã÷
1. - (id)initWithUrlArray:(NSArray<NSURL *> *)urlArray ratio:(LSOSizeRatio)ratio
¹¦ÄÜ£º
? ³õʼ»¯Õâ¸öÀà, ¿ÉÒÔÊÇÒ»¸öͼƬ»òÒ»¸öÊÓÆµ, Ò²¿ÉÒÔÊǶà¸öÊÓÆµ. ¿ÉÒÔÉèÖÃÕâ¸ö²¥·ÅÆ÷µÄ¿í¸ß±ÈÀý, µ±±ÈÀýÊÇÔʼʱ, ĬÈÏÓÃÊý×éÖеÚÒ»¸öurlµÄ¿í¸ßΪĬÈÏ¿í¸ß;
? µ±³õʼ»¯Ê§°Üºó, ·µ»Ønil, ´ó²¿·ÖÊÇûÓÐÊÚȨÎļþʱ»áʧ°Ü;
²ÎÊý£º
? urlArray Óû§Ñ¡ÖеÄÊÓÆµ/ͼƬ
? ratio ÈÝÆ÷µÄ±ÈÀý, Èç¹ûÔʼ±ÈÀý, ÔòÌîÈëLSOSizeRatio_ORIGINAL,±ÈÀýϵÊý;
2. - (void)setCompositionView:(LSODisplayView *)view;
¹¦ÄÜ£º
? Ôö¼ÓÔ¤ÀÀµÄÏÔʾ´°¿Ú;
? ºÍAVPlayerÀàËÆ, ÊÓÆµ²¥·ÅÆ÷ºÍ²¥·ÅviewÊÇ·Ö¿ªµÄ, ÄãÔÚ´´½¨ºÃ´Ë¶ÔÏóºó, ÐèÒªÄõ½¶ÔÏóµÄcompositionSize,È»ºó²¼¾ÖLSODisplayView, ÔÙÉèÖõ½´Ë.
? LSODisplayView ¼Ì³Ð×ÔUIView,ÊÇÒ»¸öÏÔʾ¿Ø¼þ,ÏÔʾ´°¿ÚÒ»¶¨ÒªºÍºÏ³É(ÈÝÆ÷)µÄ¿í¸ß³É±ÈÀý, ¿ÉÒÔ²»ÏàµÈ. AG¿·¢K8¹ú¼ÊÌṩ×î¼òµ¥µÄ¼¯³É·½·¨, ·½±ãÄú²Î¿¼;
²ÎÊý£º
? view ÏÔʾ´°¿Ú
3. @property(readonly,atomic) CGFloat compDurationS
¹¦ÄÜ£º
? µ±Ç°²¥·ÅÆ÷µÄ×Üʱ³¤.µ¥Î»Ãë;
(µ±ÄãÉèÖÃÿ¸öͼ²ãµÄʱ³¤ºó, ´ËÊôÐÔ»á¸Ä±ä. Ö»¶Á, ²»¿ÉдÈë)
4. @property (nonatomic,readonly) CGSize compositionSize
¹¦ÄÜ£º
? ÄúÔÚinitµÄʱºò, ÉèÖõĺϳɿí¸ß. »òÉèÖõıÈÀý;
? µ±ÔÚÔËÐÐÖÐ, µ÷Õû²¥·ÅÆ÷µÄ±ÈÀýºó, ´Ë¿í¸ßÊǵ÷ÕûºóµÄ¿í¸ß
5. @property (nonatomic,assign) CGFloat frameRate
¹¦ÄÜ£º
? ÉèÖÃÖ¡ÂÊ,
? [¿ÉÑ¡],·¶Î§ÊÇ10--60
6. @property (nonatomic,assign) int exportBitRate
¹¦ÄÜ£º
? ÉèÖÃÂëÂÊ, µ¥Î»×Ö½Ú,
? [¿ÉÑ¡],×îµÍÊÇ300*1024
7. @property(nonatomic, readonly) CGFloat currentTimeS
¹¦ÄÜ£º
? »ñÈ¡,µ±Ç°²¥·ÅµÄʱ¼äµã,µ¥Î»Ãë
8. @property (strong,atomic, readonly) NSMutableArray *overlayLayerArray
¹¦ÄÜ£º
? µ±Ç°ÄÚ²¿ÓжàÉÙ¸öµþ¼Ó²ã;
? Èç¹ûÄã»ñȡʹÓô˱äÁ¿, Ôò»á¿½±´Ò»·ÝеÄNSMutableArray·µ»Ø.
? ×¢Òâ: Çë²»ÒªÒ»Ö±¿½±´
9. @property (strong,atomic, readonly) NSMutableArray *concatLayerArray
¹¦ÄÜ£º
µ±Ç°ÄÚ²¿ÓжàÉÙ¸öÆ´½Ó²ã;
Èç¹ûÄã»ñȡʹÓô˱äÁ¿, Ôò»á¿½±´Ò»·ÝеÄNSMutableArray·µ»Ø.
×¢Òâ: Çë²»ÒªÒ»Ö±¿½±´
10. @property (strong,atomic, readonly) NSMutableArray *audioLayerArray
¹¦ÄÜ£º
? µ±Ç°ÓжàÉÙ¸öÒôƵ²ã;
? Èç¹ûÄã»ñȡʹÓô˱äÁ¿, Ôò»á¿½±´Ò»·ÝеÄNSMutableArray
? ×¢Òâ: Çë²»ÒªÒ»Ö±¿½±´
11. @property (nonatomic, readwrite) LSOLayer *selectedLayer
¹¦ÄÜ£º
? ÉèÖÃÒ»¸öͼ²ãΪѡÖÐ״̬;
? µ±Óû§Í¨¹ý½çÃæµã»÷±ðµÄͼ²ãʱ,Õâ¸ö״̬»á±»¸Ä±ä;
? ¿ÉÒÔÉèÖÃ, Èç¹ûÉèÖò»Ñ¡ÖÐ, ÔòÉèÖÃΪnil
12. - (void)setBackGroundVideoLayerWithURL:(NSURL *)url completedHandler:(void (^)(LSOLayer *videoLayer))handler
¹¦ÄÜ£º
? ÉèÖÃÒ»¸ö±³¾°ÊÓÆµ,±³¾°ÊÓÆµÄ¬ÈÏÑ»·;
²ÎÊý£º
? url ±³¾°ÊÓÆµµÄ·¾¶
? handler ±³¾°ÊÓÆµÉèÖÃÍê³ÉʱµÄ»Øµ÷
13. - (LSOLayer *)setBackGroundImageLayerWithImage:(UIImage *)image
¹¦ÄÜ£º
? ÉèÖÃÒ»¸ö±³¾°Í¼Æ¬
14. - (void)removeBackGroundLayer
¹¦ÄÜ£º
? ɾ³ý±³¾°Í¼²ã
15. - (LSOLayer *)addVideoLayerWithURL:(NSURL *)url atTime:(CGFloat)startTimeS
¹¦ÄÜ£º
? Ôö¼ÓÒ»¸öÊÓÆµµþ¼Ó²ã. µþ¼Ó²ãÊÇÔÚÆ´½Ó²ãµÄÉÏÃæ;
²ÎÊý£º
? url ÊÓÆµµÄUrl·¾¶;
? startTimeS atStartTime ÔںϳɵÄÖ¸¶¨Ê±¼ä¿ªÊ¼Ôö¼Ó
16. - (LSOLayer *)addImageLayerWithImage:(UIImage *)image atTime:(CGFloat)startTimeS
¹¦ÄÜ£º
? µþ¼ÓÒ»ÕÅͼƬͼ²ã;
²ÎÊý£º
? image ͼƬ¶ÔÏó
? startTimeS ÔÚ²¥·ÅÆ÷ÖеĿªÊ¼µþ¼Óʱ¼ä
17. - (LSOLayer *)addGifLayerWithURL:(NSURL *)url atTime:(CGFloat)startTimeS
¹¦ÄÜ£º
? µþ¼ÓÒ»¸ögifͼ²ã
²ÎÊý£º
? url gifµÄÍêÕûurl·¾¶
? startTimeS ÔÚ²¥·ÅÆ÷ÖеĿªÊ¼µþ¼Óʱ¼ä
18. - (LSOLayer *)addMVWithColorURL:(NSURL *)colorUrl maskUrl:(NSURL *) maskUrl atTime:(CGFloat)startTimeS
¹¦ÄÜ£º
? µþ¼ÓÒ»¸ö͸Ã÷¶¯»ÊÓÆµ, AG¿·¢K8¹ú¼ÊµÄ͸Ã÷¶¯»ÊÇÁ½¸öÊÓÆµºÏ²¢¶ø³ÉµÄ. Ò»¸öÊDzÊÉ«ÊÓÆµ/Ò»¸öÊǺڰ×ÊÓÆµ;
²ÎÊý£º
? colorUrl ͸Ã÷¶¯»ÊÓÆµÖеIJÊÉ«ÊÓÆµ
? maskUrl ͸Ã÷¶¯»ÊÓÆµÖеĺڰ×ÊÓÆµ
? startTimeS ´Ó²¥·ÅÆ÷ÖеĿªÊ¼µþ¼Óʱ¼ä
19. - (LSOAudioLayer *)addAudioLayerWithURL:(NSURL *)url atTime:(CGFloat)startTimeS
¹¦ÄÜ£º
? Ôö¼ÓÒ»¸öÉùÒôͼ²ã;
²ÎÊý£º
? url url·¾¶
? startTimeS ¿ªÊ¼Ê±¼ä
20. - (void)removeAudioLayer:(LSOAudioLayer *)audioLayer
¹¦ÄÜ£º
? ɾ³ýÉùÒôͼ²ã
²ÎÊý£º
? audioLayer ÉùÒôͼ²ã¶ÔÏó
21. -(BOOL)setOverlayerLayerPosition:(LSOLayer *)layer index:(int)index
¹¦ÄÜ£º
? ÉèÖõþ¼Ó²ãµÄλÖÃ
²ÎÊý£º
? layer ͼ²ã¶ÔÏó
? index λÖÃ, ×îÀï²ãÊÇ0
22. -(BOOL)setConcatLayerPosition:(LSOLayer *)layer index:(int)index
¹¦ÄÜ£º
? ÉèÖÃÆ´½Ó²ãµÄλÖÃ.
²ÎÊý£º
? layer Æ´½ÓµÄͼ²ã
? index ͼ²ãµÄindex, ´Óǰµ½ºó, µÚÒ»¸ö²ãÊÇ0; ×îºóÃæµÄÊÇ: _concatLayerArray.count-1;
23. - (CGSize)updateCompositionRatio:(LSOSizeRatio)ratio
¹¦ÄÜ£º
? ÉèÖúϳɵıÈÀý
²ÎÊý£º
? ratio ÉèÖõıÈÀý
24. - (void)prepareConcatLayerAsync:(void (^)(NSArray *layerAray))handler
¹¦ÄÜ£º
? µ÷ÓÃÁ÷³ÌÊÇ, ÔÚinit´´½¨ºÃ´Ë¶ÔÏóºó, ÔÚÐèÒª²¥·Åʱ,µ÷ÓÃprepareÄÚ²¿»á¸ù¾ÝÊäÈëµÄͼƬºÍÊÓÆµÊýÁ¿, ´´½¨ºÃ¶ÔÓ¦µÄͼ²ã¶ÔÏó, ÔÚÕâ¸öhandlerÖзµ»Ø;
25. - (void)insertConcatLayerWithImageArray:(NSArray<UIImage *> *)imageArray completedHandler:(void (^)(NSArray *layerAray))handler
¹¦ÄÜ£º
? Ôö¼ÓÆ´½ÓͼƬͼ²ã; ¿ÉÒÔÊÇÒ»ÕÅͼƬ, »ò¶àÕÅͼƬ
²ÎÊý£º
? imageArray <#imageArray description#>
? handler ·µ»ØµÄlayerAray :Êǵ±Ç°ÐÂÔö¼ÓµÄͼ²ã¶ÔÏóÊý×é
26. - (void)insertConcatLayerWithArray:(NSArray<NSURL *> *)urlArray atTime:(CGFloat)compTimeS completedHandler:(void (^)(NSArray *layerArray,BOOL insertBefore))handler;
¹¦ÄÜ£º
? ÔÚÈÝÆ÷µÄÖ¸¶¨Î»ÖÃÔö¼Ó×ÊÔ´
? ÔÚÈÝÆ÷µÄÖ¸¶¨Ê±¼äµã²åÈë, ʱ¼äµãÔÚͼ²ãǰ°ë²¿·Ö,²åÈëͼ²ãǰ,·´Ö®²åÈ뵽ͼ²ãºó
²ÎÊý£º
? urlArray urlÊý×é
? compTimeS ÔÚÈÝÆ÷µÄÖ¸¶¨Ê±¼äµã²åÈë,
? handle Íê³ÉºóµÄ»Øµ÷,Êǵ±Ç°ÐÂÔö¼ÓµÄͼ²ã¶ÔÏóÊý×é
27. - (void)insertConcatLayerWitImageArray:(NSArray<UIImage *> *)imageArray atTime:(CGFloat)compTimeS completedHandler:(void (^)(NSArray *layerArray,BOOL insertBefore))handler
¹¦ÄÜ£º
? ÔÚÈÝÆ÷µÄÖ¸¶¨Î»ÖÃÔö¼ÓͼƬÊý×é
²ÎÊý£º
? imageArray ͼƬÊý×é
? compTimeS Ö¸¶¨Ê±¼äµã²åÈë
? handler Íê³ÉºóµÄ»Øµ÷,Êǵ±Ç°ÐÂÔö¼ÓµÄͼ²ã¶ÔÏóÊý×é
28. - (void)replaceConcatLayerWithLayer:(LSOLayer *)currentLayer replaceUrl:(NSURL *)url completedHandler:(void (^)(LSOLayer *replacedLayer))handler
¹¦ÄÜ£º
? Ìæ»»Ò»¸öͼ²ã
²ÎÊý£º
? currentLayer µ±Ç°ÒªÌæ»»µÄͼ²ã
? url ÒªÌæ»»µÄ·¾¶ NSURL ¸ñʽ
? handler Ìæ»»Íê³ÉºóµÄ»Øµ÷
29. -(void)splitConcatLayerByTime:(CGFloat)compTimeS layer:(LSOLayer *)layer
¹¦ÄÜ£º
? ·Ö¸îͼ²ã
²ÎÊý£º
? compTimeS ´ÓÈÝÆ÷µÄÏà¶Ôʱ¼äµã¿ªÊ¼·Ö¸î
? layer Òª·Ö¸îµÄͼ²ã¶ÔÏó, ·Ö¸îºóµÄͼ²ã, »á·Åµ½µ½Æ´½Óͼ²ãÊý×éÖÐ, ·ÖÀëºóÐèÒª¸üÐÂʱ¼äÖá
30. -(void)copyConcatLayerByLayer:(LSOLayer *)layer complete:(void(^)(void))completeBlock
¹¦ÄÜ£º
? ¸´ÖÆÒ»¸öÆ´½Óͼ²ã
²ÎÊý£º
? layer Òª¸´ÖƵÄͼ²ã
? completeBlock ¸´ÖÆÍê±ÏºóµÄ»Øµ÷; ¸´ÖƺóµÄͼ²ã»á·Åµ½µ½Æ´½Óͼ²ãÊý×éÖÐ, ·ÖÀëºóÐèÒª¸üÐÂʱ¼äÖá
31. -(LSOLayer *)copyVideoLayerByLayer:(LSOLayer *)layer
¹¦ÄÜ£º
? ¸´ÖÆÒ»¸öͼ²ã
²ÎÊý£º
? layer ¸´ÖƵÄͼ²ã¶ÔÏó
32. - (BOOL)removeLayer:(nullable LSOLayer *)layer
¹¦ÄÜ£º
? ɾ³ýÒ»¸öͼ²ã.
33. - (void)removeLayerArray:(nullable NSArray<LSOLayer *> *)layers
¹¦ÄÜ£º
? ɾ³ýÒ»×éͼ²ã
²ÎÊý£º
? layers ͼ²ãÊý×é
34. - (BOOL)removeLayerByCompTime:(CGFloat )compTimeS
¹¦ÄÜ£º
? ¸ù¾ÝºÏ³ÉÖеÄÒ»¸öʱ¼äµã, ɾ³ý¶ÔÓ¦µÄͼ²ã
²ÎÊý£º
? compTimeS ÔںϳÉÖеÄʱ¼ä,µ¥Î»Ãë
35. -(LSOLayer *)getCurrentConcatLayerByTime:(CGFloat)compTimeS
¹¦ÄÜ£º
? ¸ù¾Ýµ±Ç°ÔںϳÉÖеÄʱ¼äµã, À´»ñȡһ¸öͼ²ã¶ÔÏó;
? µ±Ç°·µ»ØµÄÊÇ LSOLayer¶ÔÏó
36. - (void)applicationDidEnterBackground
¹¦ÄÜ£º
? APP ½øÈëºǫ́ʱµÄ»Øµ÷;
? µ±Óû§´ÓÏÂÏòÉÏ»¬¶¯, ÈÃÕû¸öAPP½øÈëºǫ́µÄʱºò,
? Äã¿ÉÒÔµ÷ÓÃÕû¸ö·½·¨, ÈúϳÉÏ߳̽øÈëºǫ́
37. - (void)applicationDidBecomeActive
¹¦ÄÜ£º
? APP ´Óºǫ́»Ö¸´Ê±µÄ»Øµ÷;
? µ±Óû§´Ó ºǫ́µÄ״̬ÏÂ, »Ö¸´µ½µ±Ç°½çÃæ, Ôòµ÷ÓÃÕâ¸öAPP,»Ö¸´ºÏ³ÉµÄÔËÐÐ
38. @property(nullable, nonatomic,copy) UIColor *backgroundColor
¹¦ÄÜ£º
? ÉèÖúϳÉÈÝÆ÷µÄ±³¾°ÑÕÉ«
? µ±Ç°ÔÝʱµ¼³öÎÞÓÃ
39. -(BOOL)startPreview
¹¦ÄÜ£º
? ²¥·ÅÔ¤ÀÀ
40. -(void)pause
¹¦ÄÜ£º
? ÔÝÍ£
41. -(void)resume
¹¦ÄÜ£º
? »Ö¸´²¥·Å
42. - (void)seekToTimeS:(CGFloat)timeS
¹¦ÄÜ£º
? ¶¨Î»µ½¾ßÌåµÄʱ¼ä´Á;
? ÔÚµ÷Óúó, »áÔÝÍ£µ±Ç°½çÃæµÄÖ´ÐÐ;
? ÄãÐèÒªÔÚÍê³Éseekºó, µ÷ÓÃresumeÀ´²¥·Å
? Ô¤ÀÀÓÐЧ
43. @property (readonly) BOOL isRunning
¹¦ÄÜ£º
? µ±Ç°ÊÇ·ñÔÚÔËÐÐ
44. @property (readonly) BOOL isPausing
¹¦ÄÜ£º
? ÊÇ·ñÔÝÍ£
45. -(void)startExportWithRatio:(LSOExportSize)ratioType
¹¦ÄÜ£º
? ¿ªÊ¼µ¼³ö
46. @property (readonly) BOOL isExporting
¹¦ÄÜ£º
? µ±Ç°ÊÇ·ñÕýÔÚµ¼³ö
47. -(void)cancel
¹¦ÄÜ£º
? È¡ÏûÕû¸öºÏ³ÉÏß³Ì
? °üÀ¨Ô¤ÀÀºÍµ¼³ö, ¶¼È¡Ïû
48. @property(nonatomic, copy) void(^playProgressBlock)(CGFloat progress,CGFloat percent)
¹¦ÄÜ£º
? ½ø¶È»Øµ÷,
? µ±ÔÚ±àÂëµÄʱºò, µÈÓÚµ±Ç°ÊÓÆµÍ¼²ãµÄÊÓÆµ²¥·Å½ø¶È ʱ¼äµ¥Î»ÊÇÃë;;
? ¹¤×÷ÔÚÆäËûÏß³Ì,
? ÈçÒª¹¤×÷ÔÚÖ÷Ïß³Ì,ÇëʹÓÃ:
progress: µ±Ç°ÕýÔÚ²¥·Å×ܺϳɵÄʱ¼äµã,µ¥Î»Ãë;
percent: µ±Ç°×ܺϳɵÄʱ¼äµã¶ÔӦת»»ÎªµÄ°Ù·Ö±È;
? ½ø¶ÈÔòÊÇ: progress/_duration;
dispatch_async(dispatch_get_main_queue(), ^{
});
49. @property(nonatomic, copy) NSString *_Nullable(^mergeAVBlock)(NSString *video, NSString *audio)
¹¦ÄÜ£º
? ÊÊÅäios13µÄexportÀàÎÊÌâ
50. @property(nonatomic, copy) void(^playCompletionBlock)(void)
¹¦ÄÜ£º
? ÔÚÒì²½Ïß³ÌÖ´ÐдËblock; ÇëÓÃһϴúÂëºóµ÷ÓÃ;
dispatch_async(dispatch_get_main_queue(), ^{
});
51. @property(nonatomic, copy) void(^exportProgressBlock)(CGFloat progress,CGFloat percent)
¹¦ÄÜ£º
? µ¼³ö½ø¶È»Øµ÷;
? ÔÚÒì²½Ïß³ÌÖ´ÐдËblock; ÇëÓÃһϴúÂëºóµ÷ÓÃ;
dispatch_async(dispatch_get_main_queue(), ^{
});
52. @property(nonatomic, copy) void(^exportCompletionBlock)(NSString *_Nullable dstPath)
¹¦ÄÜ£º
? ±àÂëÍê³É»Øµ÷, Íê³Éºó·µ»ØÉú³ÉµÄÊÓÆµÂ·¾¶;
? ×¢Òâ:Éú³ÉµÄdstPathÄ¿±êÎļþ, AG¿·¢K8¹ú¼Ê²»»áɾ³ý.
? ÔÚÒì²½Ïß³ÌÖ´ÐдËblock; ÇëÓÃһϴúÂëºóµ÷ÓÃ;
dispatch_async(dispatch_get_main_queue(), ^{
});
53. @property(nonatomic, copy) void(^userSelectedLayerBlock)(LSOLayer *layer)
¹¦ÄÜ£º
? µ±Ç°Óû§Ñ¡ÖеÄͼ²ã»Øµ÷;
? ÔÚÒì²½Ïß³ÌÖ´ÐдËblock; ÇëÓÃһϴúÂëºóµ÷ÓÃ;
dispatch_async(dispatch_get_main_queue(), ^{
});
54. @property(nonatomic, copy) void(^ _Nullable userTouchDownLayerBlock)(LSOLayer * _Nullable layer)
¹¦ÄÜ£º
? Óû§µã»÷ʼþ,Óû§ÊÖÖ¸°´ÏÂ.
? Öм䲻ÐèÒªÔö¼Ó dispatch_async(dispatch_get_main_queue()
55.@property(nonatomic, copy) void(^ _Nullable userTouchMoveLayerBlock)(CGPoint point)
¹¦ÄÜ£º
? Óû§Òƶ¯Í¼²ã
56. @property(nonatomic, copy) void(^ _Nullable userTouchScaleLayerBlock)(CGSize size)
¹¦ÄÜ£º
? Óû§Ëõ·Åͼ²ãʼþ
57. @property(nonatomic, copy) void(^ _Nullable userTouchRotationLayerBlock)(CGFloat rotation)
¹¦ÄÜ£º
? Óû§Ðýתͼ²ã
58. @property(nonatomic, copy) void(^ _Nullable userTouchUpLayerBlock)(void)
¹¦ÄÜ£º
? Óû§ÊÖָ̧Æð
59. @property(nonatomic, copy) void(^compositionDurationChangedBlock)(CGFloat durationS)
¹¦ÄÜ£º
? ºÏ³ÉÈÝÆ÷ʱ¼ä¸Ä±ä»Øµ÷;
? µ±Õû¸öÈÝÆ÷µÄºÏ³Éʱ¼ä¸Ä±äÁË, Ôò´¥·¢»Øµ÷;
? ±ÈÈçÄã¶ÔÊÓÆµ×ö²Ã¼ô,Ôò»á´¥·¢ÕâÀï.
? ÔÚÒì²½Ïß³ÌÖ´ÐдËblock; ÇëÓÃһϴúÂëºóµ÷ÓÃ;
dispatch_async(dispatch_get_main_queue(), ^{
});
60. @property (nonatomic, assign) BOOL disableTouchEvent
¹¦ÄÜ£º
? ½ûֹͼ²ãµÄtouchʼþ
2¡¢IOSÊÓÆµ±à¼Í¼²ãLSOLayerÀà˵Ã÷
1. @property (readonly,assign)CGFloat originalDurationS
¹¦ÄÜ£º
? ËØ²ÄµÄÔʼʱ³¤.
? ±ÈÈçÊÓÆµ±¾ÉíµÄ³¤¶È, Ö»¶Á.²»»á¸Ä±ä
2. @property (readwrite,assign) CGFloat displayDurationS
¹¦ÄÜ£º
? µ±Ç°Í¼²ãµÄÏÔʾʱ³¤;
? ÔÚûÓвüôʱºó±äËٵȲÙ×÷ʱ, µÈÓÚÔʼʱ³¤
3. @property (nonatomic,readonly) CGSize originalSize
¹¦ÄÜ£º
? ÊäÈë×ÊÔ´µÄÔʼ´óС
4. @property (nonatomic,readonly) CGSize layerSize
¹¦ÄÜ£º
? ͼ²ãÔÚÈÝÆ÷ÖеĴóС.
? ÊÓÆµ·Åµ½ÈÝÆ÷Öкó, ĬÈÏÊÇ¶ÔÆëµ½±ßÔµµÄ,¹Êͼ²ã´óС»á±ä;
? ÊÓÆµÄ¬ÈÏ¶ÔÆëµ½²¥·ÅÆ÷µÄ±ßÔµ. ͼƬ¾ÓÖÐÏÔʾ
5. @property (readwrite,assign) BOOL looping
¹¦ÄÜ£º
? µþ¼Óͼ²ãÊÇ·ñÑ»·²¥·Å;
? Æ´½Óͼ²ãÉèÖúóÎÞЧ
6. @property(getter=isHidden) BOOL hidden
¹¦ÄÜ£º
? µ±Ç°Í¼²ãÊÇ·ñÒþ²Ø,
? ¿ÉÒÔÓÃÕâ¸öÔÚд´½¨µÄͼ²ã×öÒþ²Ø/ÏÔʾµÄЧ¹û, ÀàËÆÉÁ˸, »ò´´½¨ºÃ,ÔÝʱ²»ÏÔʾµÈЧ¹û
7. @property (readwrite, nonatomic) CGFloat rotateAngle
¹¦ÄÜ£º
? ½Ç¶ÈÖµ0--360¶È. ĬÈÏΪ0.0
? ˳ʱÕëÐýת
8. @property (readwrite, nonatomic) CGPoint centerPoint
¹¦ÄÜ£º
? ÉèÖûò¶ÁÈ¡ <µ±Ç°Í¼²ãµÄÖÐÐĵã>ÔÚÈÝÆ÷ÖеÄ×ø±ê;
? ÈÝÆ÷×ø±êµÄ×óÉϽÇÊÇ×óÉϽÇΪ0,0. ´ÓÉϵ½Ï ÊÇYÖá, ´Ó×óµ½ÓÒÊÇXÖá;
? µ±Ò»¸öͼ²ãÔö¼Óµ½ÈÝÆ÷ÖÐ, ÔòĬÈÏÊÇ:
positionX=drawPadSize.width/2;
positionY=drawPadSize.height/2;
9. @property (readwrite,nonatomic) LSOPositionType positionType
¹¦ÄÜ£º
? ÉèÖõ±Ç°Î»ÖÃ,ö¾ÙÀàÐÍ.
? AG¿·¢K8¹ú¼Ê¾ÙÀýÁ˳£¼ûµÄλÖÃö¾ÙÀàÐÍ:
? ÉÏÏÂ×óÓÒ/×óÉÏ/×óÏÂ/ÓÒÉÏ/ÓÒÏÂ/¾ÓÖÐ, Èç¹ûÕâЩÀàÐͲ»Âú×ãÄúµÄÐèÇó, ¿ÉÒÔͨ¹ýcenterPointÀ´ÉèÖÃÿ¸öËØ²ÄµÄλÖÃ
10. @property (readwrite,nonatomic) LSOScaleType scaleType
¹¦ÄÜ£º
? Ëõ·ÅµÄö¾ÙÀàÐÍ;
? kLSOScaleNONE: ÎÞËõ·ÅÐÎʽ.ÔòÄÚ²¿»á¸ù¾Ý²»Í¬µÄËØ²Ä,²ÉÓÃĬÈÏÐÎʽ;
? kLSOScaleOriginal: Ôʼ´óС Ö±½Ó·ÅÈë, ²»×öÈÎÒâ´¦Àí;
? kLSOScaleFillComposition: ºöÂÔ°Ù·Ö±È,°Ñ¿í¶ÈµÈÓÚÈÝÆ÷µÄ¿í¶È, ¸ß¶ÈµÈÓÚÈÝÆ÷µÄ¸ß¶È,ÌîÂúÕû¸öÈÝÆ÷.
? kLSOScaleCropFillComposition: Æ¥Åä·ÅÈëµ½ÈÝÆ÷ÖÐ,µÈ±ÈÀýÌîÂúÕû¸öÈÝÆ÷, °Ñ¶àµÄ²¿·ÖÏÔʾµ½ÈÝÆ÷µÄÍâÃæÈ¥;
? kLSOScaleVideoScale:ÊÓÆµËõ·Åģʽ,Èç¹ûÊÓÆµ¿í¶È´óÓڸ߶È, Ôò¿í¶ÈºÍÈÝÆ÷¶ÔÆë, È»ºóµÈ±ÈÀýµ÷Õû¸ß¶È,·´Ö®ÒàÈ»
? Èç¹ûÒÔÉϲ»Âú×ãÄúµÄÐèÇó, Ôò¿ÉÒÔ scaleSize ÉèÖþßÌåËõ·Åµ½µÄ´óС
11. @property (readwrite, nonatomic) CGSize scaleSize
¹¦ÄÜ£º
? °Ñͼ²ãËõ·Åµ½Ö¸¶¨µÄ´óС;
? ÒÔÏñËØÎªµ¥Î»
12. @property (readwrite, nonatomic) CGSize scaleSizeInView
¹¦ÄÜ£º
? ÒÔÏÔʾ´°¿ÚΪµ¥Î», Ëõ·Å´óС, ´Ë¿í¸ßÊÇÏà¶ÔÓÚLSODisplayView¶øÑÔ;
? Ô¤ÀÀʱÓÐЧ
13. @property (readonly, nonatomic) CGSize layerSizeInView
¹¦ÄÜ£º
? ÒÔÏÔʾ´°¿ÚΪµ¥Î», »ñȡͼ²ãµÄ¿í¸ß;
? Ô¤ÀÀʱÓÐЧ
14. @property (readonly, nonatomic) BOOL isConcatImageLayer
¹¦ÄÜ£º
? ÊÇ·ñÊÇÆ´½ÓͼƬ²ã
15. @property (readonly, nonatomic) BOOL isConcatVideoLayer
¹¦ÄÜ£º
? ÊÇ·ñÆ´½ÓÊÓÆµ²ã
16. @property (readonly, nonatomic) BOOL isVideoLayer
¹¦ÄÜ£º
? ÊÇ·ñÊǵþ¼ÓµÄÊÓÆµ²ã
17. @property (readonly, nonatomic) BOOL isMVLayer
¹¦ÄÜ£º
? ÊÇ·ñÊǵþ¼ÓµÄmv͸Ã÷¶¯»²ã
18. @property (readonly, nonatomic) BOOL isImageLayer
¹¦ÄÜ£º
? ÊÇ·ñÊÇͼƬ²ã
19. @property (readonly, nonatomic) BOOL isGifLayer
¹¦ÄÜ£º
? ÊÇ·ñÊÇGifͼ²ã
20. @property (readonly, nonatomic) BOOL isImageArrayLayer
¹¦ÄÜ£º
? ÊÇ·ñÊÇͼƬÊý×éͼ²ã
21. @property(readwrite,assign) CGFloat startTimeOfComp
¹¦ÄÜ£º
? ÔÚ²¥·ÅÆ÷ÖеĿªÊ¼Ê±¼ä, Ö»¹¤×÷ÔÚµþ¼ÓµÄһЩͼ²ã,±ÈÈçµþ¼ÓµÄͼƬ/ÊÓÆµµÈ
22. @property (readwrite, nonatomic) BOOL isConvertScalePosition
¹¦ÄÜ£º
? ÊÇ·ñ°ÑËõ·ÅºÍλÖõIJÎÊýת»»;
? ĬÈÏÊDz»×ª»»
23. @property (nonatomic,assign)BOOL mirrorDrawX
¹¦ÄÜ£º
? ÔÚ»æÖƵÄʱºò, ºáÏòͼÏñ¾µÏñ, ×ó±ßµÄÔÚÓÒ±ß, ÓұߵÄÔÚ×ó±ß
24. @property (nonatomic,assign)BOOL mirrorDrawY
¹¦ÄÜ£º
? ÊúÏòͼÏñ¾µÏñ, ÉÏÃæµÄ·ÅÏÂÃæ, ÏÂÃæµÄ·ÅÉÏÃæ. ĬÈϲ»µ÷Õû
25. @property(readwrite, nonatomic) CGFloat opacityPercent
¹¦ÄÜ£º
? ²»Í¸Ã÷¶È.
? ĬÈÏÊÇ1.0; Íêȫ͸Ã÷ÊÇ0.0
26. @property (readwrite,assign) CGFloat cutStartTimeS
¹¦ÄÜ£º
? ²Ã¼ôʱ³¤µÄ¿ªÊ¼Ê±¼ä
? Ïà¶ÔÓÚÔÊÓÆµµÄʱ¼ä¶øÑÔ;
? ½ö¶ÔÊÓÆµÓÐЧ
27. @property (readwrite,assign) CGFloat cutEndTimeS
¹¦ÄÜ£º
? ²Ã¼ôʱ³¤µÄ½áÊøÊ±¼ä;
? ½ö¶ÔÊÓÆµÓÐЧ
28. -(void)addKeyFrameAtCompTime:(CGFloat)compTimeS
¹¦ÄÜ£º
? Ìí¼Ó¹Ø¼üÖ¡
29. -(void)removeKeyFrameWithCompTime:(CGFloat)compTimeS
¹¦ÄÜ£º
? ɾ³ý¹Ø¼üÖ¡
30. -(void)removeAllKeyframe
¹¦ÄÜ£º
? ɾ³ýËùÓйؼüÖ¡
31. @property (readwrite, assign) CGFloat brightnessPercent
¹¦ÄÜ£º
? µ÷½ÚÁÁ¶ÈµÄ°Ù·Ö±È.
? ÕâÀïµÄ°Ù·Ö±ÈÊÇÁ½±¶µÄ¹ØÏµ,·¶Î§ÊÇ 0--2.0; ÆäÖÐ 1.0 ÊÇĬÈÏÖµ,
? 0---1.0Êǵ÷С;
? 1.0 ÊÇĬÈÏ,
? 1.0---2.0 Êǵ÷´ó;
? ÈçÒª¹Ø±Õ,Ôòµ÷ÕûΪ 1.0.ĬÈÏÊǹرÕ
32. @property (readwrite, assign) CGFloat contrastFilterPercent
¹¦ÄÜ£º
? µ÷½Ú¶Ô±È¶ÈµÄ°Ù·Ö±È.
? ÕâÀïµÄ°Ù·Ö±ÈÊÇÁ½±¶µÄ¹ØÏµ,·¶Î§ÊÇ 0--2.0; ÆäÖÐ 1.0 ÊÇĬÈÏÖµ,
? 0---1.0Êǵ÷С;
? 1.0 ÊÇĬÈÏ,
? 1.0---2.0 Êǵ÷´ó;
? ÈçÒª¹Ø±Õ,Ôòµ÷ÕûΪ 1.0.ĬÈÏÊǹرÕ
33. @property (readwrite, assign) CGFloat saturationFilterPercent
¹¦ÄÜ£º
? µ÷½Ú±¥ºÍ¶ÈµÄ°Ù·Ö±È.
? ÕâÀïµÄ°Ù·Ö±ÈÊÇÁ½±¶µÄ¹ØÏµ,·¶Î§ÊÇ 0--2.0; ÆäÖÐ 1.0 ÊÇĬÈÏÖµ,
? 0---1.0Êǵ÷С;
? 1.0 ÊÇĬÈÏ
? 1.0---2.0 Êǵ÷´ó;
? ÈçÒª¹Ø±Õ,Ôòµ÷ÕûΪ 1.0.ĬÈÏÊǹرÕ
34. @property (readwrite, assign) CGFloat sharpFilterPercent
¹¦ÄÜ£º
? µ÷½ÚÈñ»¯µÄ°Ù·Ö±È.
? ÕâÀïµÄ°Ù·Ö±ÈÊÇÁ½±¶µÄ¹ØÏµ,·¶Î§ÊÇ 0--2.0; ÆäÖÐ 1.0 ÊÇĬÈÏÖµ,
? 0---1.0Êǵ÷С;
? 1.0 ÊÇĬÈÏ,
? 1.0---2.0 Êǵ÷´ó;
? ÈçÒª¹Ø±Õ,Ôòµ÷ÕûΪ 1.0.ĬÈÏÊǹرÕ;
35. @property (readwrite, assign) CGFloat whiteBalanceFilterPercent
¹¦ÄÜ£º
? µ÷½ÚɫεİٷֱÈ.
? ÕâÀïµÄ°Ù·Ö±ÈÊÇÁ½±¶µÄ¹ØÏµ,·¶Î§ÊÇ 0--2.0; ÆäÖÐ 1.0 ÊÇĬÈÏÖµ,
? 0---1.0Êǵ÷С;
? 1.0 ÊÇĬÈÏ,
? 1.0---2.0 Êǵ÷´ó;
? ÈçÒª¹Ø±Õ,Ôòµ÷ÕûΪ 1.0.ĬÈÏÊǹرÕ
36. @property (readwrite, assign) CGFloat hueFilterPercent
¹¦ÄÜ£º
? µ÷½ÚÉ«µ÷µÄ°Ù·Ö±È.
? ÕâÀïµÄ°Ù·Ö±ÈÊÇÁ½±¶µÄ¹ØÏµ,·¶Î§ÊÇ 0--2.0; ÆäÖÐ 1.0 ÊÇĬÈÏÖµ,
? 0---1.0Êǵ÷С;
? 1.0 ÊÇĬÈÏ,
? 1.0---2.0 Êǵ÷´ó;
? ÈçÒª¹Ø±Õ,Ôòµ÷ÕûΪ 1.0.ĬÈÏÊǹرÕ
37. @property (readwrite, assign) CGFloat exposurePercent
¹¦ÄÜ£º
? µ÷½ÚÆØ¹â¶ÈµÄ°Ù·Ö±È.
? ÕâÀïµÄ°Ù·Ö±ÈÊÇÁ½±¶µÄ¹ØÏµ,·¶Î§ÊÇ 0--2.0; ÆäÖÐ 1.0 ÊÇĬÈÏÖµ,
? 0---1.0Êǵ÷С;
? 1.0 ÊÇĬÈÏ,
? 1.0---2.0 Êǵ÷´ó;
? ÈçÒª¹Ø±Õ,Ôòµ÷ÕûΪ 1.0.ĬÈÏÊǹرÕ
38. @property(readwrite, nonatomic) CGRect mosaicRect1InView
¹¦ÄÜ£º
? ÂíÈü¿ËÇøÓò:
? xyÒÔ×óÉϽǿªÊ¼, ×óÉϽÇÊÇ0.0,0.0;
? ¿í¶ÈÊÇÒ»¸ö°Ù·Ö±È, ×î´óÊÇ 1.0;
? ¸ß¶ÈÊÇ Ò»¸ö°Ù·Ö±È. ×î´óÊÇ1.0;
? Äãʵʱ´«µÝ¹ýÀ´µÄ¿í¸ßºÍ×ø±ê, ³ýÒÔµ±Ç°Í¼²ãµÄ¿í¸ß,ת»»Îª°Ù·Ö±ÈºóÉèÖùýÀ´,
? ¿í¸ß×ø±ê¿ÉÒÔͨ¹ýgetCurrentRectInView »ñÈ¡µ½µ±Ç°Í¼²ãÔÚcompositionViewÖеÄλÖÃ;
? AG¿·¢K8¹ú¼Ê¾ÙÀý×î´ó4¸öÂíÈü¿ËÇøÓò;Èç¹ûÄãÐèÒª¸ü¶àµÄÂíÈü¿ËÇøÓò, ÔòÓÃLSOMosaicRectFilterÖ´ÐÐÔö¼Ó;
? Ô¤ÀÀʱÓÐЧ
39. @property (readwrite,nonatomic) CGFloat beautyLevel
¹¦ÄÜ£º
? ÉèÖÃÃÀÑÕ,
? ·¶Î§ÊÇ0.0---1.0; 0.0ÊǹرÕÃÀÑÕ; ĬÈÏÊÇ0.0;
40. @property (nonatomic,nullable, copy)LanSongFilter *filter
¹¦ÄÜ£º
? ÉèÖÃÒ»¸öÂ˾µ, ÉèÖúó, ֮ǰÔö¼ÓµÄÂ˾µ½«È«ÃæÇå¿Õ.
? ÀàËÆÂ˾µÒ»¸öÒ»¸öµÄÇл».ÐÂÉèÖÃÒ»¸ö, »á¸²¸ÇÉÏÒ»¸öÂ˾µ.
? Èç¹ûÂ˾µÊÇÎÞ, »òÇå³ý֮ǰµÄÂ˾µ, ÕâÀïÌînil;
41. -(void)addFilter:(nullable LanSongFilter *)filter
¹¦ÄÜ£º
? Ôö¼ÓÒ»¸öÂ˾µ,
? Ôö¼Óºó, »áÔÚÉÏÒ»¸öÂ˾µµÄºóÃæÔö¼ÓÒ»¸öеÄÂ˾µ.
? ÊǼ¶ÁªµÄЧ¹û
? ԴͼÏñ--->Â˾µ1--->Â˾µ2--->Â˾µ3--->ÒÆ¶¯ÐýתËõ·Å͸Ã÷ÕÚÕÖ´¦Àí--->Óë±ðµÄͼ²ã×ö»ìºÏ;
42. -(void)removeFilter:(nullable LanSongFilter *)filter
¹¦ÄÜ£º
? ɾ³ýÒ»¸öÂ˾µ
43. -(void)removeAllFilter
¹¦ÄÜ£º
? ɾ³ýËùÓÐÂ˾µ
44. @property (nonatomic, assign)CGFloat audioVolume
¹¦ÄÜ£º
? µ÷½ÚËØ²ÄÖеÄÒôƵÒôÁ¿.
? Èç¹ûËØ²ÄÓÐÒôÁ¿,ÔòÉèÖÃ, Èç¹ûûÓÐÒôÁ¿,ÔòÎÞЧ;
? ·¶Î§ÊÇ0.0---8.0;
? 1.0ÊÇÔʼÒôÁ¿; ´óÓÚ1.0,ÊÇ·Å´ó; СÓÚ1.0ÊǼõµÍ, Èç¹û½µµÍ½¨ÒéÊÇ0.1;
? Èç¹ûÊÇ0.0ÔòÎÞÉù,
45. @property (readwrite, assign) CGFloat volumeFadeOutDurationS
¹¦ÄÜ£º
? ÒôÁ¿µ³öʱ³¤ÉèÖÃ/»ñÈ¡;
? ĬÈÏÊÇ0.0,ÎÞµ³öЧ¹û;
? ×î´óΪµ±Ç°ÓÐЧʱ³¤µÄ1/3;
46. @property (readwrite, assign) CGFloat volumeFadeInDurationS
¹¦ÄÜ£º
? ÒôÁ¿µÈëʱ³¤ÉèÖÃ/»ñÈ¡;
? ĬÈÏÊÇ0.0,ÎÞµÈëЧ¹û;
? ×î´óΪµ±Ç°ÓÐЧʱ³¤µÄ1/3;
47. @property (nonatomic, assign)CGFloat videoSpeed
¹¦ÄÜ£º
? ÊÓÆµµÄ²¥·ÅËÙ¶È;
? ·¶Î§ÊÇ 0.1---10.0
? ĬÈÏ1.0; Õý³£²¥·Å;
? ½¨ÒéµÄÉèÖòÎÊýÊÇ:
? ±äÂý: 0.1, 0.2, 0.4, 0.6,0.8
? 񄨍: 2.0, 3.0, 4.0, 6.0,8.0;
? µ±Ç°½öÊÇ»Ãæ±äËÙ, ±äËÙ¹ý³ÌÖÐÔÝʱÎÞÉùÒô;
48. -(void)setVideoReverseAsync:(BOOL)isReverse asyncHandler:(void (^)(CGFloat percent, BOOL finish))handler
¹¦ÄÜ£º
? ¸øÊÓÆµÍ¼²ãÉèÖõ¹Ðò
? Òì²½ÊÇÒòΪ: ÔÚÊÓÆµµÚÒ»´Îµ¹ÐòµÄʱºò, ÓÐÒ»¸öÒì²½Ô¤´¦ÀíµÄ¹ý³Ì;
? percent:Ô¤´¦Àí°Ù·Ö±È: 0---1.0;
? µ±Ç°ÔÝʱ²»Ö§³ÖÉùÒôµ¹Ðò. ÔÚµ¹Ðòʱ, ĬÈÏÒôÁ¿Îª0;
? µ÷Óô˷½·¨,»áÏÈ´¥·¢ÈÝÆ÷ÔÝÍ£;
? ÔÚÒì²½Ïß³ÌÖ´ÐдËblock; ÇëÔÚһϴúÂëÀïµ÷ÓÃ;
dispatch_async(dispatch_get_main_queue(), ^{
});
49. - (void)cancelVideoReverse
¹¦ÄÜ£º
? È¡ÏûÕýÔÚÖ´ÐеÄÊÓÆµµ¹Ðò¹¦ÄÜ
50. @property(nonatomic, readonly)BOOL isReverse
¹¦ÄÜ£º
? µ±Ç°ÊÇ·ñÔÚµ¹Ðò״̬
51. - (void)getThumbnailAsyncWithHandler:(void (^)(UIImage *image, BOOL finish))handler
¹¦ÄÜ£º
? Òì²½»ñÈ¡µ±Ç°ËõÂÔͼ;
? µ±Ç°ÊÇÿÃëÖÓ»ñȡһ֡;, Ò»Ö¡¿í¸ß×î´óÊÇ100x100;
²ÎÊý£º
? image ÊÇ»ñÈ¡µ½µÄÿһÕÅËõÂÔͼ;
? finishÊÇ ÊÇ·ñ»ñÈ¡Íê±Ï;
? »ñÈ¡µÄËõÂÔͼµÄ¸ß¶ÈÊÇ192ÏñËØ,¸ß¶ÈÊÇ192,·µ»ØËùÓÐͼƬµÄ¿í¶È×ܺÍÊÇ µ±Ç°ÒªÏÔʾʱ³¤³ËÒÔ192;
? ±ÈÈ統ǰͼ²ãÏÔʾʱ³¤ÊÇ6.2Ãë; Ôò·µ»ØµÄËõÂÔͼÊÇ 6ÕÅ192x192µÄͼƬºÍÒ»ÕÅ 38x192 (38=192*0.2);
52. - (void)getOriginalThumbnailAsyncwithCount:(int)count handler:(void (^)(UIImage *image, BOOL finish))handler
¹¦ÄÜ£º
? »ñÈ¡ÔÊÓÆµµÄËõÂÔͼ;
? ´ÓÔÊÓÆµµÄ µÚ0Ãë,µ½×îºó; ·µ»ØµÄËùÓÐͼƬ¶¼ÊÇ192x192ÏñËØ´óС;
²ÎÊý£º
? count Òª»ñÈ¡µÄÕÅÊý , Èç¹û²»Çå³þ»ñÈ¡¼¸ÕÅͼƬ, ÔòÓÃ(int)originalDurationS;
? handler »ñÈ¡µÄÒì²½»Øµ÷;
53. - (void)getThumbnailAsyncWithDuration:(CGFloat)durationS handler:(void (^)(UIImage *image, BOOL finish))handler
¹¦ÄÜ£º
? »ñȡָ¶¨Ê±³¤µÄËõÂÔͼ;
? ´Óµ±Ç°²Ã¼ôµÄ¿ªÊ¼Ê±¼ä,¼ÆËã, ÿÃëÖÓ·µ»ØÒ»Ö¡, Ò»Ö¡µÄ¿í¸ßÊÇ192
²ÎÊý£º
? durationS ÒªµÄʱ³¤
? handler Òì²½»Øµ÷;
54. @property (readonly,assign) CGFloat thumbnailDisplayTimeS
¹¦ÄÜ£º
? ËõÂÔͼµÄÏÔʾʱ¼ä
55. @property(nonatomic, readwrite) NSMutableArray<UIImage *> *thumbImageArray
¹¦ÄÜ£º
? ÔÚÄãµÚÒ»´Îµ÷ÓùýgetThumbnailAsyncWithHandlerºó. ÄÚ²¿»á±£´æµ½Õâ¸öÊôÐÔÖÐ.
? ÔÚÏ´λñÈ¡µÄʱºò, Ôò¿ÉÒÔÖ±½Ó¶ÁÈ¡;
56. @property (nonatomic, assign)BOOL touchEnable
¹¦ÄÜ£º
? µ±Ç°Í¼²ãÊÇ·ñÐèÒªtouchʼþ;
? ĬÈÏÊÇÐèÒªµÄ;
57. @property (nonatomic, assign) CGFloat backGroundBlurLevel
¹¦ÄÜ£º
? ±³¾°Ð黯ֵ.
? ÉèÖÃΪ0,È¡Ïû±³¾°;
58. - (void)resetLayerLayout
¹¦ÄÜ£º
? °Ñͼ²ã»Ö¸´µ½¸ÕÔö¼ÓʱµÄλÖúʹóС
59. -(BOOL)isDisplay
¹¦ÄÜ£º
? µ±Ç°Í¼²ãÊÇ·ñÔÚÏÔʾ״̬
60. - (LSOAnimation *) addAnimationWithJsonPath:(NSString *)jsonPath atCompS:(CGFloat) atCompS
¹¦ÄÜ£º
? ÓÃAEµÄjsonÐÎʽÔö¼ÓÒ»¸ö¶¯»
²ÎÊý£º
? jsonPath ¶¯»Îļþ
? atCompS ´Ó²¥·ÅÆ÷µÄʲôλÖÃÔö¼Ó
61. - (LSOAnimation *) setAnimationAtLayerHead:(NSString *)jsonPath
¹¦ÄÜ£º
? ÔÚͼ²ãµÄÍ·²¿Ôö¼ÓÒ»¸ö¶¯»
²ÎÊý£º
? jsonPath ¶¯»Îļþ,json¸ñʽ
62. - (LSOAnimation *) setAnimationAtLayerEnd:(NSString *)jsonPath
¹¦ÄÜ£º
? ÔÚͼ²ãµÄβ²¿Ôö¼ÓÒ»¸ö¶¯»
²ÎÊý£º
? jsonPath ¶¯»Îļþ, json¸ñʽ
63. - (void)removeAnimation:(LSOAnimation *)animation
¹¦ÄÜ£º
? ɾ³ýÒ»¸ö¶¯»
²ÎÊý£º
? animation ¶¯»¶ÔÏó,ÔÚaddAnimationµÄʱºòÔö¼ÓµÄ
64. - (void)removeAllAnimationArray
¹¦ÄÜ£º
? ɾ³ýËùÓж¯»
65. - (NSMutableArray *)getAllAnimationArray
¹¦ÄÜ£º
? »ñÈ¡ËùÓе͝»¶ÔÏóÊý×é
66. -(BOOL) playAnimation:(LSOAnimation *)animation
¹¦ÄÜ£º
? Ô¤ÀÀÒ»¸ö¶¯»
²ÎÊý£º
? animation Ô¤ÀÀ»á´Ó¶¯»µÄ¿ªÊ¼Ê±¼äµã,²¥·Åµ½½áÊøÊ±¼äµã
67. - (LSOEffect *) addEffectWithJsonPath:(NSString *)jsonPath atCompS:(CGFloat) atCompS
¹¦ÄÜ£º
? ÓÃAEµÄjsonÎļþÐÎʽÔÚÖ¸¶¨Ê±¼äµãÔö¼ÓÒ»¸öÌØÐ§
²ÎÊý£º
? jsonPath ÌØÐ§µÄjson
? atCompS ´ÓÈÝÆ÷µÄÖ¸¶¨Ê±¼äµã
68. - (LSOEffect *) addEffectWithJsonAtLayerHead:(NSString *)jsonPath
¹¦ÄÜ£º
? ÔÚͼ²ãµÄÍ·²¿Ôö¼ÓÒ»¸öÌØÐ§
²ÎÊý£º
? jsonPath ÌØÐ§µÄjsonÎļþ
69. - (LSOEffect *) addEffectWithJsonAtLayerEnd:(NSString *)jsonPath
¹¦ÄÜ£º
? ÔÚͼ²ãµÄβ²¿Ôö¼ÓÒ»¸öÌØÐ§
²ÎÊý£º
? jsonPath ÌØÐ§µÄjsonÎļþ
70. - (void)removeEffect:(LSOEffect *)effec
¹¦ÄÜ£º
? ɾ³ýÒ»¸öÌØÐ§,
²ÎÊý£º
? effect ÌØÐ§¶ÔÏó,´ÓaddEffectXXXµÃµ½µÄÌØÐ§¶ÔÏó
71. - (void)removeAllEffectArray
¹¦ÄÜ£º
? ɾ³ýËùÓеÄÌØÐ§
72. -(BOOL) playEffect:(LSOEffect *)effect
¹¦ÄÜ£º
? Ô¤ÀÀÒ»¸öÌØÐ§
²ÎÊý£º
? effect Ô¤ÀÀ»á´ÓÌØÐ§µÄ¿ªÊ¼Ê±¼äµã,²¥·Åµ½½áÊøÊ±¼äµã
73. - (NSMutableArray *)getAllEffectArray
¹¦ÄÜ£º
? »ñÈ¡ËùÓеÄÌØÐ§¶ÔÏóÊý×é
74. @property(readwrite, assign)NSURL *transitionJsonUrl
¹¦ÄÜ£º
? ÉèÖÃת³¡µÄ¶¯»Â·¾¶, json¸ñʽ;
? ¿Éͨ¹ýÕâ¸ö»ñÈ¡ÊÇ·ñÉèÖÃÁËת³¡; Èç¹ûҪȡÏûת³¡;ÔòÕâÀïµÈÓÚnil;
? ÉèÖúó, ĬÈÏת³¡Ê±¼äΪ1Ãë;
75. - (void)setMGTransitionWithColorUrl:(NSURL *)colorUrl maskUrl:(NSURL *)maskUrl
¹¦ÄÜ£º
? Ôö¼Ómgת³¡¶¯»
76. @property(readwrite, assign)CGFloat transitionDurationS
¹¦ÄÜ£º
? ÉèÖûò»ñȡת³¡Ê±¼ä
? ÔÚÉèÖÃת³¡ºóÓÐЧ;
? ʱ¼ä·¶Î§ÊÇ0---5.0Ãë;
? Èçת³¡Ê±¼ä ´óÓÚͼ²ãʱ¼ä, ÔòµÈÓÚͼ²ãʱ¼ä;
? ¿ÉÒÔͨ¹ýת³¡Ê±¼ä,Åжϵ±Ç°Í¼²ãÊÇ·ñÓÐת³¡¹¦ÄÜ;
77. @property(readonly, nonatomic)CGFloat transitionMaxDurationS
¹¦ÄÜ£º
? ת³¡¿ÉÉèÖõÄ×î´óÖµ;
? Ö»ÄÜ»ñÈ¡;
? ×î´óÖµµÈÓÚ, µ±Ç°Í¼²ãµÄ1/3 ºÍÏÂÒ»¸öͼ²ãʱ³¤µÄ1/3 ºÍ3Ãë µÄ×îСֵ;
78. @property(readonly, nonatomic)BOOL isAddTransition
¹¦ÄÜ£º
? ÊÇ·ñÔö¼ÓÁËת³¡
79. - (BOOL)playTransition
¹¦ÄÜ£º
? Ô¤ÀÀת³¡;
? ÄãÐèÒªÔÚÉèÖÃת³¡ºóµ÷ÓòÅÓÐЧ;
80. - (void)cancelTransition
¹¦ÄÜ£º
? È¡Ïûת³¡
81. @property (nonatomic, readonly) CGFloat transitionStartTimeOfCompS
¹¦ÄÜ£º
? ת³¡Ïà¶ÔÓÚ²¥·ÅÆ÷µÄ¿ªÊ¼Ê±¼ä
82. @property (readwrite,nonatomic)NSURL *videoURL
¹¦ÄÜ£º
? Èç¹ûÊÇÆ´½ÓµÄÊÇÊÓÆµ, »òµþ¼ÓµÄÊÇÊÓÆµ, Ôò¿ÉÒÔ»ñÈ¡µ½videoURL·¾¶
83. @property (readwrite,nonatomic)UIImage *uiImage
¹¦ÄÜ£º
? Æ´½Ó»òµþ¼ÓÒ»ÕÅͼƬʱ, Ôö¼ÓµÄͼƬ¶ÔÏó
84. @property (readonly, nonatomic, nullable) NSURL *reverseVideoUrl
¹¦ÄÜ£º
? »ñÈ¡µ¹ÐòµÄÊÓÆµÂ·¾¶;
? ÔÚÉèÖõ¹Ðò,²¢µ¹ÐòÍê³Éºó»ñÈ¡;
? ÔÚÈÝÆ÷ÊÍ·Å»ò ͼ²ãÊͷźó, ÄÚ²¿»áɾ³ý;
ËÄ¡¢AEÄ£°æSDK
4.1¡¢Ä£°åËØ²ÄÀà:LSOAexAeModule ºÍLSOAexImage
LSOAexModuleÀàÊÇÓÃÀ´ÉèÖÃÒ»¸öÄ£°åµÄ¸÷ÖÖËØ²Ä£¬±ÈÈçÒ»¸öÄ£°åÔÚµ¼³öʱ»áµ¼³ö±³¾°ÊÓÆµÎļþ£¬Í¸Ã÷mvÊÓÆµ, ÉùÒôµÈÆäËûËØ²Ä£¬¼ÓÔØºóÄã»áµÃµ½Õâ¸öÄ£°åµÄ¿í¶È£¬¸ß¶È£¬ ¿ÉÌæ»»Í¼Æ¬ÊýÁ¿£¬ÒÔ¼°Ã¿ÕÅͼƬµÄ¿ªÊ¼Ê±¼äºÍ ͼƬÏÔʾʱ³¤¡£ lsoaeximage¾ÍÊÇͼƬÀ࣬AG¿·¢K8¹ú¼ÊÒѾÔÚ½âÎöʱ£¬¶ÔÿÕÅͼƬ°´ÕÕʱ¼ä³öÏÖµÄÏȺó˳Ðò×öÁËÅÅÐò£¬Äã»ñÈ¡µÄµÚ1¸öË÷Òý£¬¾ÍÊÇ×îÏÈÏÔʾµÄͼƬ£¬ÄãÒªÌæ»»ÊÓÆµÍ¼Æ¬ÎªÊÓÆµ»òͼƬÔòµ÷ÓÃupdapath£¬Äã¿ÉÒÔÔÚ¿ªÊ¼Ê±¼äµ÷Óã¬Ò²¿ÉÒÔÔÚÄ£°å¼ÓÈëµ½Ô¤ÀÀ²¥·ÅÆ÷Öе÷Óã» Ìæ»»Ê±ÓÐÒ»¸öoptionÑ¡Ïµ±Ç°Ö§³ÖÉèÖÃËõ·ÅÐÎʽºÍ¿ªÊ¼Ê±¼ä£¬optionµÄö¾ÙËõ·Å£¬Ö§³Ö²Ã¼ôµ½È«ÆÁ¡¢ÍêÕûËõ·Å£¬ ÊÓÆµÀàÐÍËõ·Å£»updatePathÌæ»»·µ»Ø²¼¶ûÀàÐÍ£¬±íÊ¾Ìæ»»³É¹¦»òʧ°Ü¡£ ¿É¶à´Îµ÷ÓᣠÈç¹ûÊÇÊÓÆµÔò¿ÉÒÔͨ¹ýgetThumbnailAsyncÒì²½»ñÈ¡ÐèÒªµÄËõÂÔͼ¡£
4.2¡¢AE²¥·ÅÀà:LSOAexplayerView
ÓÃÀ´²¥·ÅÒ»¸öAEÄ£°å£¨LSOAexModule£©£¬ Ö§³Ö²¥·Å½ø¶È»Øµ÷¡¢²¥·ÅÍê³É»Øµ÷£¬µ¼³ö½ø¶È»Øµ÷£¬µ¼³öÍê±Ï»Øµ÷¡¢¶¨Î»µ½Ê±¼ä£¬¶¨Î»µ½AexImage£¬ ÔÝÍ£pause¡¢»Ö¸´resume£¬¿ªÊ¼²¥·Å£¬¿ªÊ¼µ¼³ö£¬ ÓÐÖ´ÐдíÎ󻨵÷£¬ ²¥·ÅµÄAexImage¸Ä±ä»Øµ÷£¬²¢Ö§³ÖÊÖÊÆ£¬µ±µã»÷²¥·Å»ÃæÊ±£¬»á·µ»ØÓû§µ±Ç°µã»÷ÁËÄĸöLSOAexImage¡£µ±Óû§ÔÚ²¥·Å¹ý³ÌÖÐÒªÌæ»»ËزÄʱ£¬ ¿Éͨ¹ýAexImageµÄupdatePath·½·¨Ìæ»»£¬ iOSÐèÒªÔÚµ÷ÓÃupdateWithUrlºóÁíÍâÔÙÖ´ÐÐaexCompositionµÄupdateAexImage£»AG¿·¢K8¹ú¼ÊÄÚ²¿¼ì²éµ½ÄãÌæ»»ºó£¬»áÏÔÊ¾Ìæ»»ºóµÄ»Ã棬²¢äÖȾµ½µ±Ç°moduleÖС£ iOS°æ±¾µÄAPI ÊÇ£ºLSOAexCompositionºÍLSOAexDisplayViewÁ½¸öÀà×é³É£¬ Ò»¸öÊǺϳɣ¬Ò»¸öÊDz¥·Å´°¿Ú¡£
4.3¡¢ÊÖÊÆËµÃ÷£º
ÔÚ²¥·ÅÖУ¬µ±Óû§ÊÖÖ¸µã»÷»ÃæÊ±£¬²¥·ÅÆ÷»áÔÝÍ££¬²¢·µ»Ø¸øÄãÓû§Ñ¡ÖеÄAexImage¶ÔÏ󣬿ÉÖ±½Ó¸ü¸ÄAexImageÖеÄÊÓÆµ»òͼƬ£¬¸ü¸Äºó£¬²¥·ÅÆ÷»áÏàÓ¦µÄ²¥·ÅÌæ»»ºóµÄÊÓÆµ»òͼƬ¡£ µ±Óû§Í¼Æ¬»òÊÓÆµ¿í¸ß²»µÈÓÚAEÄ£°åÖеÄͼƬ¿í¸ßʱ£¬ ÔÚÌæ»»Ê±£¬Ä¬ÈÏ»á¸ù¾ÝoptionµÄËõ·ÅÀàÐÍ×öËõ·Å£¬²¢´Ó»ÃæÖÐÐÄÏÔʾ£» ÔÚÓû§µã»÷²¥·Å»ÃæÊ±£¬ ¿Éµ¥Ö¸Òƶ¯µ÷ÕûÒªÏÔʾ»ÃæµÄÄIJ¿·Ö£¬Ò²¿ÉÒÔ˫ָËõ·ÅºÍÐýתÀ´µ÷ÕûÏÔʾµÄ»Ã棬 µ÷ÕûºóµÄ»Ãæ¾ÍÊÇ×îÖÕÒªÉú³ÉµÄ»Ãæ¡£Èç¹ûÄãÁ½¸öͼƬÔÚAEÖÆ×÷ʱÊÇÖØµþµÄ, ÓпÉÄܵã»÷ͼƬµÄʱºò, »áÑ¡ÖÐÁíÒ»ÕÅͼƬ,¶ø·ÇÄãÒªµÄͼƬ,½¨ÒéÔÚÖÆ×÷ʱ²»ÒªÖصþ£¨ÏÂÒ»¸ö°æ±¾»á×ö½øÒ»²½µÄÓÅ»¯£©¡£
4.4¡¢AexImageµÄ¸Ä±ä»Øµ÷·½·¨ËµÃ÷:
AG¿·¢K8¹ú¼ÊÄÚ²¿ÊDzéÕÒÄĸöaexImageµÄ¿ªÊ¼Ê±¼äµã ºÍµ±Ç°Ê±¼äµÄ²îÖµ×îС, ¶ø·µ»ØÄĸöaexImage, Èç¹ûÄã¶à¸öͼƬÔÚʱ¼äµãÉÏÊÇÖØµþµÄ, ÓпÉÄÜ·µ»ØµÄaexImage²»ÊÇÄãÒªµÄ½á¹û£¬ÕâÊÇÕý³£Çé¿ö£¬¿ÉºÍAEÉè¼ÆÊ¦ÉÌÁ¿ÈçºÎ±ÜÃâ
Îå¡¢ÈËÏñ·Ö¸îSDK
5.1¡¢IOSµÄÈËÏñ·Ö¸îÓõ½µÄ¿â
¿â£º
- tnn.framework
- TenLineSegmnetFramework.framework
- ˵Ã÷: Í϶¯µ½Build PhasesµÄ Link BinaryÖÐ.
Ä£ÐÍ£º
- Ä£ÐÍÎļþ:TEN_LINE_IOS.MODEL
- ÐÒéÎļþ: TEN_LINE_IOS.MODEOPROTO
- TNN : tnn.metallib
- ˵Ã÷: Í϶¯µ½¹¤³ÌÀï,ÔÚBuild PhasesÖпÉÒÔÕÒµ½¼´¿É.
ÐèÒªÒÀÀµÏµÍ³µÄ¿â£º
- Accelerate.framework (ÖØÒª)
- CoreML.framework (ÖØÒª)
- Metal.framework (ÖØÒª)
- CoreMedia.framework
- CoreGraphics.framework
- libc++.tbd
- UIKit.framework
- AVFoundation.framework
- Foundation.framework
- ˵Ã÷:ÒÔÉÏ¿â¼ÓÈëÒ»´Î¼´¿É.¡¢
µ÷ÓÃ
- Èý¸ö·½·¨£º
ΨһÀà:TLAPISegment
/// ³õʼ»¯Ä£ÐÍ
/// @param modelPath modelµÄ·¾¶
/// @param protoPath ÐÒéµÄ·¾¶
- (instancetype)initWithModelPath:(NSString *)modelPath protoPath:(NSString *)protoPath;
/// ·Ö¸îÒ»Ö¡»Ãæ
/// @param image_buffer ÔʼµÄÊý¾Ý,
/// @param callback ·Ö¸îÍê±ÏºóµÄ»Øµ÷, »Øµ÷¹¤×÷ÔÚUIÏß³Ì;
- (void)segmentPixelBuffer:(CVPixelBufferRef)image_buffer callback:(segmentCallback2)callback;
/// ÊÍ·ÅÄ£ÐÍ
- (void)relaseLSO;
5.2¡¢²»ÓÃÈËÏñ·Ö¸î£¬¿Éɾ³ýµÄÎļþ
Android£º
- assets쵀tenlinev2.model
- jniLibs/arm64-v8a쵀libTenLineJni.so
- jniLibs/armeabi-v7a쵀libTenLineJni.so
IOS£º
- tnn.framework
- TenLineSegmnetFramework.framework
- tnn.metallib
- TEN_LINE_IOS.MODEL
- TEN_LINE_IOS.MODEOPROTO
- TenLineFast_ios.MODEL
- TenLineFast_ios.MODELPROTO
Áù¡¢Android¶Ë´íÎó´úÂë
6.1¡¢´íÎóÂë:1200
±àÂëÅäÖôíÎó.
Ò»°ãÊǵ±Ç°É豸²»Ö§³Ö±àÂë·Ö±æÂÊ,»ò±àÂëÂëÂʵ¼ÖÂ.
SDKÄÚ²¿ÓõÄÊÇMediaCodec±àÂë,
Èç¹û·Ö±æÂÊÉèÖó¬¹ýÁËMediaCodecµÄ·¶Î§, ÔòÅ׳ö´Ë´íÎóÐÅÏ¢.
6.2¡¢´íÎóÂë:1201
±àÂëÅäÖôíÎó.
Ò»°ãÊǵ±Ç°É豸²»Ö§³Ö±àÂë·Ö±æÂÊ,»ò±àÂëÂëÂʵ¼ÖÂ. SDKÄÚ²¿ÓõÄÊÇMediaCodec±àÂë, Èç¹û·Ö±æÂÊÉèÖó¬¹ýÁËMediaCodecµÄ·¶Î§,ÔòÅ׳ö´Ë´íÎóÐÅÏ¢.
6.3¡¢´íÎóÂë:1202
GPUÖ´ÐдíÎó.
6.4¡¢´íÎóÂë:1203
±àÂëÆ÷ÔÚ±àÂëÒ»Ö¡Íê³ÉºóµÄ, Òý³öÊý¾Ýʱ·¢Éú´íÎó.
6.5¡¢´íÎóÂë:1204
SDKµÄÊÚȨÎļþ´íÎó.
¿ÉÄÜÊÇSDK¹ýÆÚ, »òapplicationID ºÍÊÚȨÎļþÖеIJ»Ò»ÖÂ, »ò³¬³öÁËʹÓÃʱ¼ä.
6.6¡¢´íÎóÂë:1205
äÖȾµÄsurface´íÎó.
³£¼ûΪ:ûÓÐÉèÖÃsurface»òsurfaceÒѾ±»ÊÍ·Å
6.7¡¢´íÎóÂë:1206
ÈÝÆ÷¿í¸ßÉèÖùýµÍµÄ´íÎó.
·Ö±æÂÊÉèÖÃСÓÚ320x320,Ôò»áÅ׳ö´Ë´íÎóÐÅÏ¢
6.8¡¢´íÎóÂë:1207
µ±Ç°Í¼²ã´íÎó.
½¨ÒéÄõ½´íÎóÐÅÏ¢ÈÕÖ¾ºó,·ÖÎöÊÇÄÄÀïµÄÎÊÌâ.