Skip to main content

my.chooseVideo

chooseVideo

Last updated on

my.chooseVideo là API dùng để quay video hoặc chọn video từ album cục bộ.

Khả dụng: Hỗ trợ từ version 1.80.0 trở lên.

Quét mã để trải nghiệm

Xem code mẫu trên Tini Studio

Demo

Trải nghiệm thử với trình giả lập bên dưới

API Params

Thuộc tínhKiểu dữ liệuBắt buộcMô tả
camerastringChỉ định sẽ dùng camera trước (front) hay camera sau (back). Mặc định là front
sourceTypeArrayQuay video hay lấy video từ album. Mặc định là cả 2. ['camera, 'album']
durationnumberGiới hạn thời gian quay video. Mặc định là không giới hạn
compressedBooleanCó nén video hay không. Mặc định là không nén
successFunctionCallback function khi lấy video thành công.
failFunctionCallback function khi lấy video bất thành.
completeFunctionCallback function khi gọi API hoàn tất bất kể có lấy được video hay không.

Callback function payload

Thuộc tínhKiểu dữ liệuMô tả
filePathsArrayĐường dẫn của các video được chọn. Sử dụng đường dẫn này để hiển thị video hoặc upload
tempFilesArray of ObjectsDanh sách các video được chọn cùng với các thông tin như path, size, width, height, ...

tempFiles payload

Thuộc tínhKiểu dữ liệuMô tả
pathstringĐường đẫn tạm thời của video.
sizenumberDung lượng video. Đơn vị tính: byte.
widthnumberChiều rộng của (độ phân giải) video. Đơn vị tính: pixel.
heightnumberChiều cao của (độ phân giải) video. Đơn vị tính pixel.
durationnumberThời gian của video.

Sample Code

<view>
<block-header title="Usage" description="Choose Video from camera or albums" />
<view class="block-content">
<button class="button-full" onTap="onChooseVideo">Choose Video</button>
</view>
<block tiki:if="{{videoUrl !== undefined}}}">
<video id="video" object-fit="cover" style="width: 100%; height: 100%;" onPlay="onPlay" onPause="onPause"
onEnd="onEnd" onTimeUpdate="onTimeUpdate" plays-inline src="{{videoUrl}}" />
</block>
</view>
Page({
data: {
videoUrl: undefined
},
onChooseVideo() {
my.chooseVideo({
camera: 'front',
maxDuration: 15,
success: (res) => {
my.alert({ content: JSON.stringify(res) });
this.setData({
videoUrl: res.filePaths[0]
});
},
fail: (e) => {
my.alert({ content: JSON.stringify(e) });
console.log(e);
}
});
}
});