# 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 ที่ใช้งานได้อย่างเป็นทางการ:

# 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)