Android 播放器 SDK

API 參考資料

(以下內容均翻譯自英文版文件,最新資訊及內容敬請切換至英文語系參考原文)

 

目錄

播放器初始化/非初始化和加載媒體

初始化 | 非初始化加載媒體源

播放控制

播放暫停跳轉快轉倒帶

設置播放器參數

設定畫質 | 設定字幕 | 設定音軌

設定音量靜音取消靜音

設定速度

取得播放器參數

取得媒體配置

取得播放狀態 | 取得音量

取得當前播放時間取得總時長 | 取得緩衝時間

取得所有畫質取得當前畫質

取得所有字幕取得當前字幕

取得所有音軌 | 取得當前音軌

設置事件監聽器/回調函式

設置播放/錯誤事件回調

設置播放紀錄事件回調

 

 

初始化

  • 初始化一個播放器實例。
UniPlayer.Builder([$MediaConfig]).build(): UniPlayer
  • 參數
$MediaConfig = 
{
   val source: List<Source>,
   val title: String,
   val description: String,
   val imageUrl: String,
   val startTimeMs: Int,
   val thumbnailSeekingUrl: String,
   var contentType: ContentType,
   var defaultMediaSourceType: String,
   var defaultQuality: Int,
   var seekableOption: SeekableOption,
   var adTagParameters: Map<String, String>,
   var playWhenReady: Boolean,
   val sharedUrl: String,
   val features: List<Feature>
}

 

非初始化

  • 非初始化/銷毀一個已初始化/已建立的播放器。
player.release(): Unit

 

通過配置加載媒體源

  • 在播放器中設置媒體源的配置。
player.load([$MediaConfig]): Unit
  • 參數
$MediaConfig = 
{
   val source: List<Source>,
   val title: String,
   val description: String,
   val imageUrl: String,
   val startTimeMs: Int,
   val thumbnailSeekingUrl: String,
   var contentType: ContentType,
   var defaultMediaSourceType: String,
   var defaultQuality: Int,
   var seekableOption: SeekableOption,
   var adTagParameters: Map<String, String>,
   var playWhenReady: Boolean,
   val sharedUrl: String,
   val features: List<Feature>
}

 

取得媒體配置

  • 取得設定在播放器中的媒體配置數據。
player.getCurrentMediaConfig(): MediaConfig
  • 參數:
$MediaConfig = 
{
val source: List<Source>,
val title: String,
val description: String,
val imageUrl: String,
val startTimeMs: Int,
val thumbnailSeekingUrl: String,
var contentType: ContentType,
var defaultMediaSourceType: String,
var defaultQuality: Int,
var seekableOption: SeekableOption,
var adTagParameters: Map<String, String>,
var playWhenReady: Boolean,
val sharedUrl: String,
val features: List<Feature>
}

 

播放

  • 開始播放。
player.play(): Unit

 

暫停

  • 暫停播放。
player.pause(): Unit

 

正在播放

  • 取得播放狀態。
player.isPlaying(): Boolean

 

取得當前時間

  • 取得當前的播放位置。
player.getPosition(): Long

 

取得總時長

  • 取得播放的總時長。
player.getDuration(): Long

 

取得緩衝時間

  • 取得在播放過程中的當前緩衝時間
player.getBufferedPosition(): Long

 

跳轉

  • 通過特定的時間戳記以設定播放位置。
player.seek(millisecond: long): Unit

 

快轉

  • 通過特定的時間戳記以快轉播放。
player.forward(millisecond: long): Unit

 

倒帶

  • 通過特定的時間戳記以倒帶播放。
player.rewind(millisecond: long): Unit

 

取得音量

  • 取得當前的播放音量值。
player.getVolume(): Float

 

取得畫質

  • 在播放過程中取得所有畫質。
player.getQualities(): List<Quality>
  • 參數:
data class Quality {
val resolution: Resolution(width, height),
val bitrate: Int,
val frameRate: Float
}

 

取得當前的畫質

  • 取得目前的播放畫質。
player.getCurrentQuality(): Quality
  • 參數:
data class Quality {
val resolution: Resolution(width, height),
val bitrate: Int,
val frameRate: Float
}

 

設定畫質

  • 設定播放影片的畫質。

設定成特定畫質

player.setQuality(height: Int?): Unit

設定成自動適應畫質

player.setQuality(null): Unit

 

設定音量

  • 設定當前播放音量值。
player.setVolume(float): Unit

 

靜音

  • 將播放音量靜音。
player.mute(): Unit

 

取消靜音

  • 取消播放音量的靜音。
player.unmute(): Unit

 

取得音軌

  • 取得播放的所有音軌。
player.getAudioTracks(): List<AudioTrack>
  • 參數:
data class AudioTrack {
val language: String
}

 

取得當前音軌

  • 取得當前播放的音軌。
player.getCurrentAudioTrack(): AudioTrack
  • 參數:
data class AudioTrack {
val language: String
}

 

設定音軌

  • 設定播放的特定音訊軌。
player.setAudioTrack(language: String): Unit

 

取得字幕

  • 取得播放的所有字幕。
player.getSubtitles(): List<Subtitle>
  • 參數
data class Subtitle {
val language: String
}

 

取得當前字幕

  • 取得當前播放的字幕。
player.getCurrentSubtitle(): Subtitle
  • 參數
data class Subtitle {
val language: String
}

 

設定字幕

  • 设置或停用播放影片的播放字幕。

設定特定字幕

player.setSubtitle(Subtitle): Unit
  • 參數
data class Subtitle {
val language: String
}

停用顯示字幕

player.setSubtitle("off"): Unit

 

取得當前速度

  • 取得當前的播放速度值。
player.getCurrentPlaybackSpeed(): Float

 

設定速度

  • 設定目前的播放速度值。
// return true if setting success; false if illegal speed setting (less than 0.0f)
player.setPlaybackSpeed(speed: Float): Boolean

 

播放 / 錯誤事件的回調監聽器

  • 監聽播放過程中發生的播放回調事件。該方法提供了函數以回調和監聽器用於取得播放器的狀態。例如,在取得緩衝狀態後,可以取得其優先的圖示。

播放事件監聽器

player.addStateEventListener(object: StateEventListener {
override fun onPlayerStateChanged(playerState) {
// do something
}
})
  • 參數
playerState = IDLE, READY, BUFFERING, ENDED

錯誤事件監聽器

player.addErrorEventListener(object: ErrorEventListener {
override fun onUniError(errorEvent: UniErrorEvent): Boolean
// do something
}
})
  • 參數
UniErrorEvent = Exception defined in Java/Kotlin

 

播放紀錄事件回調

  • 通過這種方法可以取得紀錄資訊,然後再整合到紀錄服務中。
playLogger = object : PlayLogger {
override fun logEvent(eventName: String, properties: Map<String, Any>) {
// do something
}
}

 

更新於