# JavaScript API References
# Methods
# addUploadJobs(files: FileList | File[] | VideoFileObject[]): Promise<void>
 ใช้สำหรับเพิ่มไฟล์วิดีโอที่ต้องการจะอัปโหลด หลังจากกระบวนการเสร็จสิ้นจะเรียก callback function onVideosCreated และเพิ่มวิดีโอไฟล์เข้าในคิวเพื่อรอการอัปโหลด
# Parameters
files สามารถเป็น Type FileList, File[], หรือ VideoFileObject[]
- คุณสามารถใช้ File[]หรือFileListเพื่ออัปโหลดอย่างรวดเร็ว. ชื่อของวิดีโอจะเป็นชื่อไฟล์ที่คุณอัปโหลด
- คุณสามารถใช้ VideoFileObjectหากต้องการกำหนดค่าเพิ่มเติมให้กับวิดีโอVideoFileObjectเป็น object ที่ประกอบด้วยฟิลด์ดังนี้:- file: คือไฟล์วิดีโอของคุณ
- videoMetadata: คือ object ที่ไม่มี required fields ใด ๆ ตัวอย่าง fields ที่ใช้งานได้อย่างเป็นทางการ:- titleสำหรับระบุชื่อวิดีโอ
- tagsสำหรับระบุแท็กที่เกี่ยวข้องให้วิดีโอของคุณ
 
 
# setOptions(newOptions: UploadManagerOptions): void
 ใช้สำหรับอัปเดต options ของ VideoUploadManager
(ข้อควรระวัง: ไม่สามารถเรียกใช้ method นี้ได้หลังจากเริ่มการอัปโหลดไปแล้ว)
# start(): Promise<void>
 ใช้สำหรับสั่งเริ่มการอัปโหลด
# pauseUploadById(uploadId: string): Promise<UploadJob>
 ใช้สำหรับสั่งหยุดการอัปโหลดชั่วคราว โดยฟังก์ชันนี้จะรับ parameter uploadId เพื่อระบุวิดีโอที่จะต้องการให้หยุดการอัปโหลดชั่วคราว
Method นี้จะ throw error ออกมาเมื่อไม่มี job ที่อัปโหลดอยู่มี uploadId ตรงกับ uploadId ที่ใส่มาใน parameter
# resumeUploadById(uploadId: string): Promise<UploadJob>
 ใช้สำหรับสั่งเริ่มการอัปโหลดต่อ โดยฟังก์ชันนี้จะรับ parameter uploadId เพื่อระบุวิดีโอที่จะต้องการให้อัปโหลดต่อ
Method นี้จะ throw error ออกมาเมื่อไม่มี job ที่หยุดการอัปโหลดชั่วคราวมี uploadId ตรงกับ uploadId ที่ใส่มาใน parameter
# cancelUploadById(uploadId: string): Promise<UploadJob>
 ใช้สำหรับสั่งเริ่มหยุดการอัปโหลด โดยฟังก์ชันนี้จะรับ parameter uploadId เพื่อระบุวิดีโอที่จะต้องการให้หยุดการอัปโหลด
(ข้อควรระวัง: เมื่อใช้ method นี้ในการสั่งหยุดการอัปโหลดแล้ววิดีโอจะไม่สามารถอัปโหลดต่อได้อีก)
Method นี้จะ throw error ออกมาเมื่อไม่มี job ที่อัปโหลดอยู่มี uploadId ตรงกับ uploadId ที่ใส่มาใน parameter
# cancelAll(): Promise<void>
 ใช้สำหรับสั่งหยุดการอัปโหลดทั้งหมด
# Getters
# getJobQueue(): UploadJob[]
 return job การอัปโหลดทั้งหมดที่อยู่ในคิว
# getJobByUploadId(uploadId: string) UploadJob | undefined
 return job ที่มีค่า uploadId ตรงกับ parameter
# getIsUploadStarted(): boolean
 return true เมื่อมีการเริ่มอัปโหลดวิดีโอในคิวแล้ว
# getIsAllUploadCancelled(): boolean
 return true เมื่อทุก job ที่อยู่ในคิวถูก cancel
# Interfaces & Types
# VideoFileObject
| Field | Value | Description | 
|---|---|---|
| file | File | ไฟล์วิดีโอที่ต้องการอัปโหลด | 
| videoMetadata | Record<string, unknown> | Object สำหรับเก็บข้อมูลเพิ่มเติมของวิดีโอ (fields ที่ใช้งานได้อย่างเป็นทางการได้แก่ title และ tags) | 
# UploadJob
| Field | Value | Description | 
|---|---|---|
| uploadId | string | ID ของ Upload Job | 
| file | File | ไฟล์วิดีโอ | 
| name | string | ชื่อวิดีโอ | 
| status | UploadJobStatus | สถานะของ Upload Job | 
| progress | UploadProgress | Object เก็บความคืบหน้าในการอัปโหลด | 
# UploadJobStatus
| Value | Description | 
|---|---|
| 'pending' | รอการอัปโหลด | 
| 'uploading' | กำลังอัปโหลด | 
| 'completed' | อัปโหลดเสร็จสิ้น | 
| 'failed' | เกิดปัญหาระหว่างการอัปโหลด | 
| 'cancelled' | การอัปโหลดถูกยกเลิก | 
| 'paused' | การอัปโหลดถูกหยุดชั่วคราว | 
# UploadProgress
| Field | Value | Description | 
|---|---|---|
| bytesUploaded | number | ขนาดไฟล์ที่ได้อัปโหลดไปแล้ว (หน่วย Bytes) | 
| bytesTotal | number | ขนาดไฟล์วิดีโอของคุณ (หน่วย Bytes) | 
| percent | number | ความคืบหน้าในการอัปโหลด (0 - 100) | 
