Interface Class Name | Description |
TAVEditor | SDK operation entry class. |
ITAVStickerManager | Sticker operation interface class. |
TAVSticker | Sticker data model class. |
Method | Parameters | Return Value | Description |
createSticker(TAVStickerType type, String stickerPath) | type: sticker type.stickerPath: file path. | TAVSticker | Create a sticker object. |
loadSticker(TAVSticker sticker) | sticker: sticker object. | void | Load a sticker. |
removeSticker(TAVSticker sticker) | sticker: sticker object. | void | Remove a sticker. |
registerFallbackFont(String fontPath) | fontPath: font file path. | boolean | Register a fallback font. |
getStickers() | - | List<TAVSticker> | Get all stickers. |
getSticker(int id) | id: sticker ID. | TAVSticker | Get a specific sticker. |
addStickerObserver(ITAVStickerContextObserver observer) | observer: observer. | void | Add a sticker state observer. |
removeStickerObserver(ITAVStickerContextObserver observer) | observer: observer. | void | Remove a sticker state observer. |
/*** Get the sticker operation interface** @return ITAVStickerManager instance*/ITAVStickerManager manager = editor.getStickerManager();
/*** Create a sticker object** @param type Sticker type (MOTION=motion sticker, TEXT=text sticker, IMAGE=custom image sticker)* @param path Sticker file path* @return TAVSticker instance*/TAVSticker sticker = manager.createSticker(type, path);if (sticker != null) {// Set display time range (microseconds)sticker.setTimeRange(TAVTimeRange.fromUs(0, durationUs));// Set animation mode (optional)sticker.setAnimationMode(TAVSticker.TAVStickerAnimationMode.FREEZE);}
/*** Load a sticker into the editor** @param sticker Sticker data object*/manager.loadSticker(sticker);
/*** Remove a sticker** @param sticker Sticker object to remove*/manager.removeSticker(sticker);
/*** Register a fallback font** @param fontPath Font file path* @return Whether registration was successful*/boolean success = manager.registerFallbackFont("/sdcard/custom_font.ttf");if (success) {Log.i(TAG, "Font registered successfully");}
/*** Get all stickers** @return List of currently loaded stickers*/List<TAVSticker> allStickers = manager.getStickers();/*** Get a sticker by ID** @param id Sticker ID* @return Corresponding sticker object*/TAVSticker specificSticker = manager.getSticker(stickerId);
public enum TAVStickerType {MOTION(0), // Motion stickerTEXT(1), // Text stickerIMAGE(2); // Image sticker}
public enum TAVStickerAnimationMode {DEFAULT, // Loop playbackFREEZE, // Freeze at the last frameSCALE_UP // Slow playback (when user-set duration exceeds sticker duration)}
// Set display time range (microseconds)sticker.setTimeRange(TAVTimeRange.fromUs(startUs, endUs));// Set animation modesticker.setAnimationMode(TAVSticker.TAVStickerAnimationMode.FREEZE);// Set visibilitysticker.setVisible(true);// Set position (relative coordinates, 0-1)sticker.setPosition(0.5f, 0.5f);// Set scalesticker.setScale(1.2f);// Set rotation angle (degrees)sticker.setRotate(45);
// Get sticker operation interfaceITAVStickerManager stickerManager = editor.getStickerManager();// Register fallback fontstickerManager.registerFallbackFont("/sdcard/custom_font.ttf");// Create motion stickerTAVSticker motionSticker = stickerManager.createSticker(TAVSticker.TAVStickerType.MOTION,"/sdcard/stickers/motion.sticker");if (motionSticker != null) {motionSticker.setTimeRange(TAVTimeRange.fromUs(0, 5_000_000)); // 0-5 secondsmotionSticker.setAnimationMode(TAVSticker.TAVStickerAnimationMode.SCALE_UP);// Load stickerstickerManager.loadSticker(motionSticker);}// Create text stickerTAVSticker textSticker = stickerManager.createSticker(TAVSticker.TAVStickerType.TEXT,"/sdcard/stickers/text_template.sticker");if (textSticker != null) {textSticker.setTimeRange(TAVTimeRange.fromUs(2_000_000, 8_000_000)); // 2-8 seconds// Modify text contenttextSticker.getTextItem().setText("Hello World");// Modify text styletextSticker.getTextItem().setTextColor(Color.RED);textSticker.getTextItem().setStrokeColor(Color.BLACK);textSticker.getTextItem().setStrokeWidth(1.5f);// Load text stickerstickerManager.loadSticker(textSticker);}// Update existing text stickerTAVSticker sticker = stickerManager.getSticker(stickerId);// Update play rangesticker.setTimeRange(timeRange);TAVStickerTextItem textItem = sticker.getTextItem().clone();// Update text content/background color/text color/textItem.setText(text);textItem.setBackgroundColor(color);textItem.setTextColor(color);// Apply the updatesticker.setTextItem(textItem);// Get all stickersList<TAVSticker> allStickers = stickerManager.getStickers();Log.d(TAG, "Current sticker count: " + allStickers.size());// Set sticker positionfor (TAVSticker sticker : allStickers) {sticker.setPosition(0.3f, 0.7f);sticker.setScale(0.8f);}// Remove stickerstickerManager.removeSticker(motionSticker);
// Get sticker unique IDint stickerId = textSticker.getId();// Clone sticker (shallow copy)TAVSticker clonedSticker = textSticker.clone();// Clone sticker (deep copy)TAVSticker deepClonedSticker = textSticker.clone(true);
フィードバック