tencent cloud

User Generated Short Video SDK

Android

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-05-11 17:46:57

Feature Overview

This document describes the interface classes and methods for sticker and text operations, including creating, loading, and removing stickers, as well as setting sticker properties such as time range, animation mode, and position. Usage examples and sticker data model descriptions are also provided.

Stickers and Text

Related Interface Classes

Interface Class Name
Description
TAVEditor
SDK operation entry class.
ITAVStickerManager
Sticker operation interface class.
TAVSticker
Sticker data model class.

Interface Method Summary

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.

Sticker Operation Methods

Get Sticker Operation Interface

/**
* Get the sticker operation interface
*
* @return ITAVStickerManager instance
*/
ITAVStickerManager manager = editor.getStickerManager();

Create Sticker Object

/**
* 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 Sticker

/**
* Load a sticker into the editor
*
* @param sticker Sticker data object
*/
manager.loadSticker(sticker);

Remove Sticker

/**
* Remove a sticker
*
* @param sticker Sticker object to remove
*/
manager.removeSticker(sticker);

Register Fallback Font

/**
* 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");
}

Sticker List Operations

/**
* 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);

Sticker Data Model (TAVSticker)

Sticker Types

public enum TAVStickerType {
MOTION(0), // Motion sticker
TEXT(1), // Text sticker
IMAGE(2); // Image sticker
}

Animation Modes

public enum TAVStickerAnimationMode {
DEFAULT, // Loop playback
FREEZE, // Freeze at the last frame
SCALE_UP // Slow playback (when user-set duration exceeds sticker duration)
}

Common Methods

// Set display time range (microseconds)
sticker.setTimeRange(TAVTimeRange.fromUs(startUs, endUs));

// Set animation mode
sticker.setAnimationMode(TAVSticker.TAVStickerAnimationMode.FREEZE);

// Set visibility
sticker.setVisible(true);

// Set position (relative coordinates, 0-1)
sticker.setPosition(0.5f, 0.5f);

// Set scale
sticker.setScale(1.2f);

// Set rotation angle (degrees)
sticker.setRotate(45);

Usage Example

// Get sticker operation interface
ITAVStickerManager stickerManager = editor.getStickerManager();

// Register fallback font
stickerManager.registerFallbackFont("/sdcard/custom_font.ttf");

// Create motion sticker
TAVSticker motionSticker = stickerManager.createSticker(
TAVSticker.TAVStickerType.MOTION,
"/sdcard/stickers/motion.sticker"
);
if (motionSticker != null) {
motionSticker.setTimeRange(TAVTimeRange.fromUs(0, 5_000_000)); // 0-5 seconds
motionSticker.setAnimationMode(TAVSticker.TAVStickerAnimationMode.SCALE_UP);
// Load sticker
stickerManager.loadSticker(motionSticker);
}

// Create text sticker
TAVSticker 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 content
textSticker.getTextItem().setText("Hello World");
// Modify text style
textSticker.getTextItem().setTextColor(Color.RED);
textSticker.getTextItem().setStrokeColor(Color.BLACK);
textSticker.getTextItem().setStrokeWidth(1.5f);
// Load text sticker
stickerManager.loadSticker(textSticker);
}

// Update existing text sticker
TAVSticker sticker = stickerManager.getSticker(stickerId);
// Update play range
sticker.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 update
sticker.setTextItem(textItem);

// Get all stickers
List<TAVSticker> allStickers = stickerManager.getStickers();
Log.d(TAG, "Current sticker count: " + allStickers.size());

// Set sticker position
for (TAVSticker sticker : allStickers) {
sticker.setPosition(0.3f, 0.7f);
sticker.setScale(0.8f);
}

// Remove sticker
stickerManager.removeSticker(motionSticker);

Sticker ID and Cloning

// Get sticker unique ID
int stickerId = textSticker.getId();

// Clone sticker (shallow copy)
TAVSticker clonedSticker = textSticker.clone();

// Clone sticker (deep copy)
TAVSticker deepClonedSticker = textSticker.clone(true);


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック