ফরম্যাট
সমর্থিত ফরম্যাট ও প্লেব্যাক লাইব্রেরি
প্রতিটি ফরম্যাটের নিচে আপনার প্ল্যাটফর্ম বেছে নিন — লাইব্রেরির নাম অফিসিয়াল রিপোজিটরিতে লিংক করা।
SVGA
.svgaAfter Effects থেকে সরাসরি এক্সপোর্ট করা একটি কমপ্যাক্ট অ্যানিমেশন ফরম্যাট, লাইভ-স্ট্রিমিং গিফটে ব্যাপকভাবে ব্যবহৃত। SVGAPlayer পরিবারের মাধ্যমে হার্ডওয়্যার অ্যাক্সিলারেশনসহ চলে।
val parser = SVGAParser(context)
parser.decodeFromURL(URL(itemUrl)) { videoItem ->
svgaImageView.setVideoItem(videoItem)
svgaImageView.startAnimation()
}
let player = SVGAPlayer(frame: view.bounds)
SVGAParser().parse(with: URL(string: itemUrl)!) { entity in
player.videoItem = entity
player.startAnimation()
}
import SVGA from "svgaplayerweb";
const player = new SVGA.Player("#canvas");
new SVGA.Parser().load(itemUrl, (videoItem) => {
player.setVideoItem(videoItem);
player.startAnimation();
});
SVGASimpleImage(resUrl: itemUrl);
WebP
.webpএকটি ছোট ফাইলে পূর্ণ আলফা স্বচ্ছতাসহ অ্যানিমেটেড WebP ছবি। বেশিরভাগ প্ল্যাটফর্মে নেটিভভাবে সমর্থিত — সামান্য বা কোনো অতিরিক্ত রানটাইম প্রয়োজন হয় না।
// Animated WebP plays out of the box
Glide.with(context).load(itemUrl).into(imageView)
SDImageCodersManager.shared.addCoder(SDImageWebPCoder.shared)
imageView.sd_setImage(with: URL(string: itemUrl))
<!-- Animated WebP is supported natively -->
<img src="item.webp" alt="" />
// Animated WebP is supported natively
Image.network(itemUrl);
VAP
.mp4Tencent-এর Video Animation Player ফরম্যাট: একটি MP4 যা একটি কালার ট্র্যাক এবং একটি আলফা ট্র্যাক এবং একটি vapc কনফিগ বক্স বহন করে, সমৃদ্ধ গিফট এফেক্টের পিক্সেল-পারফেক্ট কম্পোজিটিংয়ের জন্য।
// AnimView from the VAP SDK
animView.setLoop(1)
animView.startPlay(File(itemPath))
// QGVAPWrapView from the VAP SDK
[wrapView playHWDMP4:itemPath repeatCount:0 delegate:self];
import Vap from "video-animation-player";
new Vap({ container, src: itemUrl, config: vapcJson }).play();
VapView();
await VapController.playPath(itemPath);
MP4 Alpha
.mp4একটি সাধারণ MP4 যার ফ্রেমে কালার অর্ধেকের পাশে একটি গ্রেস্কেল আলফা অর্ধেক থাকে। আপনার প্লেয়ার উভয় অর্ধেক স্যাম্পল করে এবং একটি সম্পূর্ণ স্বচ্ছ অ্যানিমেশন কম্পোজিট করে।
// Side-by-side color/alpha video
alphaMovieView.setVideoFromUrl(itemUrl)
alphaMovieView.start()
BDAlphaPlayerMetalConfiguration *config =
[BDAlphaPlayerMetalConfiguration defaultConfiguration];
config.directory = itemDirectory;
[self.playerView playWithMetalConfiguration:config];
// Upload each <video> frame as a texture, then in the
// fragment shader: rgb from the color half x alpha from
// the alpha half -> draw on a transparent canvas.
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA,
gl.UNSIGNED_BYTE, video);
// Play the mp4, sample color/alpha halves in a
// custom FragmentShader and paint the composited frame.
final controller = VideoPlayerController.networkUrl(Uri.parse(itemUrl));
await controller.initialize();
controller.play();
PAG
.pagTencent-এর PAG (Portable Animated Graphics): একটি ছোট বাইনারি ফাইলে After Effects অ্যানিমেশন, ক্রস-প্ল্যাটফর্ম libpag রানটাইম দ্বারা রেন্ডার করা (ওয়েবে WASM)।
val pagView = PAGView(context)
pagView.composition = PAGFile.Load(itemPath)
pagView.setRepeatCount(0)
pagView.play()
let pagView = PAGView()
pagView.setComposition(PAGFile.load(itemPath))
pagView.setRepeatCount(0)
pagView.play()
import { PAGInit } from "libpag";
const PAG = await PAGInit();
const file = await PAG.PAGFile.load(buffer);
const view = await PAG.PAGView.init(file, canvas);
view.setRepeatCount(0);
await view.play();
PAGView.network(
itemUrl,
repeatCount: PAGView.REPEAT_COUNT_LOOP,
autoPlay: true,
);
Lottie
.json / .lottieAirbnb-এর Lottie: JSON হিসেবে (বা একটি .lottie dotLottie বান্ডেল) এক্সপোর্ট করা After Effects অ্যানিমেশন এবং প্রতিটি প্ল্যাটফর্মে নেটিভভাবে রেন্ডার করা।
lottieView.setAnimationFromUrl(itemUrl)
lottieView.repeatCount = LottieDrawable.INFINITE
lottieView.playAnimation()
let view = LottieAnimationView(url: URL(string: itemUrl)!) { _ in }
view.loopMode = .loop
view.play()
import lottie from "lottie-web";
lottie.loadAnimation({
container,
path: itemUrl,
renderer: "svg",
loop: true,
autoplay: true,
});
APNG
.pngAnimated PNG — অ্যানিমেশন কন্ট্রোল চাংকসহ স্ট্যান্ডার্ড PNG ফরম্যাট, লসলেস মান এবং পূর্ণ আলফা বজায় রাখে। স্ট্যাটিক PNG ফাইল মার্কেটপ্লেসে প্রত্যাখ্যাত হয়।
val drawable = APNGDrawable.fromFile(itemPath)
imageView.setImageDrawable(drawable)
// APNG plays out of the box
imageView.sd_setImage(with: URL(string: itemUrl))
<!-- APNG is supported natively -->
<img src="item.png" alt="" />
// APNG is supported natively
Image.network(itemUrl);