MediaPlayer
このドキュメントは機械翻訳で作成された下書きであり、現在レビュー中です。機械翻訳の特性上、一部の内容が不正確であったり、韓国語の原文と異なる場合があります。より正確な情報については、韓国語のドキュメントをご参照ください。
MediaPlayer Class
com.kollus.sdk.media.MediaPlayer
コン テンツ再生、画面出力制御、字幕管理、および各種マルチメディアイベントを処理する SDK の主要再生エンジンクラスです。
Classes & Interfaces
interface APP_STATUSenum EXTERNAL_DISPLAY_MODEenum MediaRouteStateinterface OnCompletionListenerinterface OnErrorListenerinterface OnExternalDisplayDetectListenerinterface OnInfoListenerinterface OnMediaRouteInfoListenerinterface OnPreparedListenerinterface OnSeekCompleteListenerinterface OnTimedTextDetectListenerinterface OnTimedTextListenerinterface OnVideoSizeChangedListenerclass TMCMReceiverclass TrackInfo
Public Methods
MediaPlayer(Context context, KollusStorage storage, int port)void addTimedTextSource(boolean bSubTimedText, String path) throws IOException, IllegalArgumentException, IllegalStateException, RuntimeExceptionvoid addTimedTextSource(Context context, boolean bSubTimedText, Uri uri) throws IOException, IllegalArgumentException, IllegalStateExceptionvoid deleteKollusBookmark(int position) throws IllegalStateExceptionvoid deselectTrack(boolean bSubTimedText, int index) throws IllegalStateExceptionvoid destroyDisplay()int getBandwidth()int getCachedDuration()int getCurrentPosition()int getDownloadRate()int getDuration()String getErrorString(int errorCode)boolean getKollusContent(KollusContent content) throws IllegalStateExceptionint getPlayAt()String getPlayerName()MediaPlayerBase.TrackInfo[] getTrackInfo() throws IllegalStateExceptionString getVersion()String getVideoCodecName()int getVideoHeight()int getVideoWidth()boolean isAiPlaybackRateEnabled()boolean isLooping()boolean isPlaying()void pause() throws IllegalStateExceptionvoid prepareAsync()void release()void seekTo(int msec) throws IllegalStateExceptionvoid seekToExact(int msec) throws IllegalStateExceptionvoid selectTrack(boolean bSubTimedText, int index) throws IllegalStateExceptionvoid setAiPlaybackRateEnable(boolean enable)void setAppStatus(@APP_STATUS int status)void setAudioDelay(int timeMs)void setBandwidth(int bandwidth)void setBandwidthName(String bandwidthName)boolean setBufferingRatio(int ratio)void setCaptureDetectLister(CaptureDetectLister listener)void setDataSourceByKey(String mediaContentKey, String extraDrmParam)void setDataSourceByUrl(String path, String extraDrmParam)void setDisplay(SurfaceHolder sh)void setEmulatorCheckerListener(EmulatorCheckerListener listener)void setInitialBandwidth(int bandwidth)void selectAudio (String language)void setKollusPlayerBookmarkListener(KollusPlayerBookmarkListener listener)void setKollusPlayerLMSListener(KollusPlayerLMSListener listener)void setLastOffsetTime(int lastOffsetTimeMs)void setLmsOffDownloadContent(boolean bOn)void setLooping(boolean looping)void setMinDurationForQualityIncreaseMs(int msec)void setMute(boolean mute)boolean setNetworkTimeout(int timeout)void setNotifyLastReport(boolean bOn)void setOnCompletionListener(OnCompletionListener listener)void setOnErrorListener(OnErrorListener listener)void setOnExternalDisplayDetectListener(OnExternalDisplayDetectListener listener)void setOnInfoListener(OnInfoListener listener)void setOnMediaRouteInfoListener(OnMediaRouteInfoListener listener)void setOnPreparedListener(OnPreparedListener listener)void setOnSeekCompleteListener(OnSeekCompleteListener listener)void setOnTimedTextDetectListener(OnTimedTextDetectListener listener)void setOnTimedTextListener(OnTimedTextListener listener)void setOnVideoSizeChangedListener(OnVideoSizeChangedListener listener)boolean setPlayingRate(float playing_rate) throws IllegalStateExceptionvoid setRemoteMediaRouteInfo(String castNameSpace)void setScreenOnWhilePlaying(boolean screenOn)void setSurface(Surface surface)void setVideoRending(boolean bRendering)void skip()void start() throws IllegalStateExceptionvoid stop() throws IllegalStateExceptionboolean supportPlaybackrateControl()void updateKollusBookmark(int position, String label) throws IllegalStateException
Static Public Properties
static final String VERSION = "2.0.19_r3"static final int MEDIA_ERROR_UNKNOWN = 1static final int APP_STATUS_BACKGROUND = 1static final int APP_STATUS_FOREGROUND = 2static final int MEDIA_INFO_FRAME_RATE = 7static final int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK = 200static final int QUICK = 1static final int EXACT = 2static final String CAST_NAME_SPACE = "urn:x-cast:com.kollus.cast"static final String CAST_APP_ID = "E956F6B0"
Protected Methods
void setKollusStorage(KollusStorage storage)
Constructors & Destructors
com.kollus.sdk.media.MediaPlayer.MediaPlayer(Context context, KollusStorage storage, int port)
プレイヤーインスタンスを生成します。
- パラメータ
context:Contextインスタンスstorage:KollusStorageインスタンスport: 内蔵プレイヤー通信に必要なサーバーポート番号
Method Details
void com.kollus.sdk.media.MediaPlayer.addTimedTextSource(boolean bSubTimedText, String path) throws IOException, IllegalArgumentException, IllegalStateException, RuntimeException
HTTP URL パスを通じて字幕を設定します。
- パラメータ
bSubTimedText: サブ字幕の有無path: 字幕ファイルの HTTP URL パス
- 参照: OnTimedTextDetectListener
void com.kollus.sdk.media.MediaPlayer.addTimedTextSource(Context context, boolean bSubTimedText, Uri uri) throws IOException, IllegalArgumentException, IllegalStateException
Android URI を通じて字幕を設定します。
- パラメータ
context: アプリケーションコンテキストbSubTimedText: サブ字幕の有無uri: 字幕ファイルの URI パス
void com.kollus.sdk.media.MediaPlayer.deleteKollusBookmark(int position) throws IllegalStateException
特定位置のブックマーク情報を削除します。削除の成否は onBookmarkDeleted コールバックを通じて返されます。
- パラメータ
position: 削除するブックマークの位置 (ms)
void com.kollus.sdk.media.MediaPlayer.deselectTrack(boolean bSubTimedText, int index) throws IllegalStateException
selectTrack メソッドを通じて選択された特定のメディアトラックを解除します。
- パラメータ
bSubTimedText: サブ字幕トラックかどうかindex: 解除対象トラックのインデックス
void com.kollus.sdk.media.MediaPlayer.destroyDisplay()
ビデオ出力画面(Surface または SurfaceHolder)の Destroy 時点で呼び出し、リソースを解放します。
int com.kollus.sdk.media.MediaPlayer.getBandwidth()
MPEG-DASH 環境でアダプティブビットレート(ABR)再生時に現在ダウンロード中の帯域幅情報を取得します。
- 戻り値: 帯域幅(現在ダウンロードしている Bandwidth 値)
int com.kollus.sdk.media.MediaPlayer.getCachedDuration()
ストリーミング再生時に現在バッファにキャッシュされている動画の長さを取得します。
- 戻り値: キャッシュされた動画の長さ (ms)
int com.kollus.sdk.media.MediaPlayer.getCurrentPosition()
現在の再生位置を取得します。
- 戻り値: 現在の再生位置 (ms)
int com.kollus.sdk.media.MediaPlayer.getDownloadRate()
MPEG-DASH 再生環境で現在のデータダウンロード速度を取得します。
- 戻り値: ダウンロード速度
int com.kollus.sdk.media.MediaPlayer.getDuration()
現在再生中のコンテンツの全体の長さを取得します。
- 戻り値: コンテンツの全体の長さ (ms)
String com.kollus.sdk.media.MediaPlayer.getErrorString(int errorCode)
エラーコードに対応するメッセージ文字列を返します。
- パラメータ
errorCode: エラーコード
- 戻り値: エラーコードに対応する文字列
boolean com.kollus.sdk.media.MediaPlayer.getKollusContent(KollusContent content) throws IllegalStateException
現在再生中のコンテンツの詳細情報を取得します。
- パラメータ
content: コンテンツ情報をコピーするインスタンス
- 戻り値: 情報取得の成否
int com.kollus.sdk.media.MediaPlayer.getPlayAt()
続きから再生の位置情報を取得します。nscreen 同期などの機能と連携します。
- 戻り値: 最後に保存された視聴位置 (ms)
String com.kollus.sdk.media.MediaPlayer.getPlayerName()
MediaPlayerFactory を通じて生成された実際のプレイヤーの名前を取得します。
- 戻り値: プレイヤー名
MediaPlayerBase.TrackInfo[] com.kollus.sdk.media.MediaPlayer.getTrackInfo() throws IllegalStateException
現在再生中のコンテンツのトラック情報を取得します。
- 戻り値: トラック情報の配列
String com.kollus.sdk.media.MediaPlayer.getVersion()
プレイヤーのバージョンを取得します。
- 戻り値: プレイヤーバージョン
String com.kollus.sdk.media.MediaPlayer.getVideoCodecName()
ビデオコーデック名を取得します。ハードウェア(HW)コーデック連携の有無を確認するために主に使用されます。
- 戻り値: ビデオコーデック名
int com.kollus.sdk.media.MediaPlayer.getVideoHeight()
コンテンツの縦のサイズを取得します。onPrepared レスポンスを受け取った後に正常に呼び出せます。
- 戻り値: ビデオの縦サイズ (px)
int com.kollus.sdk.media.MediaPlayer.getVideoWidth()
コンテンツの横のサイズを取得します。onPrepared レスポンスを受け取った後に正常に呼び出せます。
- 戻り値: ビデオの横サイズ (px)
boolean com.kollus.sdk.media.MediaPlayer.isAiPlaybackRateEnabled()
現在のコンテンツに AI 倍速機能が有効化されているかどうかを確認します。
- 戻り値
true: 有効false: 無効
boolean com.kollus.sdk.media.MediaPlayer.isLooping()
現在のリピート再生設定の有無を確認します。
- 戻り値: リピート再生の有効化状態(
true: リピート設定、false: リピート解除)
boolean com.kollus.sdk.media.MediaPlayer.isPlaying()
現在再生中かどうかを確認します。
- 戻り値: 再生状態(
true: 再生中、false: 再生中でない)
void com.kollus.sdk.media.MediaPlayer.pause() throws IllegalStateException
再生を一時停止するときに呼び出します。
void com.kollus.sdk.media.MediaPlayer.prepareAsync()
データソース(setDataSource)設定後、再生準備を非同期的に開始します。準備が完了すると onPrepared コールバックが受信されます。
void com.kollus.sdk.media.MediaPlayer.release()
プレイヤーに割り当てられたリソースを解放します。再生停止(stop)後に呼び出します。
void com.kollus.sdk.media.MediaPlayer.seekTo(int msec) throws IllegalStateException
指定された位置に再生地点を移動します。(I フレーム単位での移動)
- パラメータ
msec: 移動先の位置 (ms)
void com.kollus.sdk.media.MediaPlayer.seekToExact(int msec) throws IllegalStateException
指定された位置に再生地点を移動します。(時間単位での移動)
- パラメータ
msec: 移動先の位置 (ms)
void com.kollus.sdk.media.MediaPlayer.selectAudio (String language)
マルチオーディオコンテンツの場合、特定の言語でオーディオを選択します。
- パラメータ
language: 選択するオーディオ
void com.kollus.sdk.media.MediaPlayer.selectTrack(boolean bSubTimedText, int index) throws IllegalStateException
getTrackInfo で取得したトラック情報の中から特定のトラック(オーディオ、字幕など)を選択して再生するときに呼び出します。
- パラメータ
bSubTimedText: サブ字幕トラックかどうかindex: 選択するトラックのインデックス
void com.kollus.sdk.media.MediaPlayer.setAiPlaybackRateEnable(boolean enable)
AI 倍速機能の有効化状態を設定します。
- パラメータ
enable: AI 倍速機能の有効化状態(true: 有効、false: 無効)
void com.kollus.sdk.media.MediaPlayer.setAppStatus(@APP_STATUS int status)
LMS データを送信する際に、アプリの状態変化(バックグラウンド/フォアグラウンド)の時間情報を一緒に記録するために呼び出します。
- パラメータ
status: アプリの状態値(APP_STATUS)
void com.kollus.sdk.media.MediaPlayer.setAudioDelay(int timeMs)
ビデオとオーディオの Sync(同期)を手動で調整します。
- パラメータ
timeMs: 調整する時間 (ms)
void com.kollus.sdk.media.MediaPlayer.setBandwidth(int bandwidth)
コンテンツがアダプティブビットレート(ABR)方式の場合、特定の帯域幅を指定して画質を強制的に選択します。
- パラメータ
bandwidth: 選択する帯域幅の値
void com.kollus.sdk.media.MediaPlayer.setBandwidthName(String bandwidthName)
コンテンツが ABR 方式の場合、帯域幅の名称を通じて画質を選択します。
- パラメータ
bandwidthName: 選択する帯域幅の名称
boolean com.kollus.sdk.media.MediaPlayer.setBufferingRatio(int ratio)
デフォルトのバッファリング量の倍数を設定します。Utils.PLAYER_TYPE_KOLLUS 設定時のみ有効です。
- パラメータ
ratio: 設定するバッファリング倍数(範囲: 1〜10)
- 戻り値: 処理結果(
true: 成功、false: 失敗)
void com.kollus.sdk.media.MediaPlayer.setCaptureDetectLister(CaptureDetectLister listener)
画面キャプチャ検知リスナーを設定します。
- パラメータ
listener: リスナーインスタンス
void com.kollus.sdk.media.MediaPlayer.setDataSourceByKey(String mediaContentKey, String extraDrmParam)
ダウンロードされたローカルコンテンツを再生する際にデータソースを設定します。
- パラメータ
mediaContentKey: コンテンツメディアキーextraDrmParam: 動的 DRM Download Callback / Play Callback の引数
void com.kollus.sdk.media.MediaPlayer.setDataSourceByUrl(String path, String extraDrmParam)
ストリーミング再生のためのデータソース(URL)を設定します。
- パラメータ
path: ストリーミングコンテンツのパスextraDrmParam: 動的 DRM Download Callback / Play Callback の引数
void com.kollus.sdk.media.MediaPlayer.setDisplay(SurfaceHolder sh)
ビデオが出力される画面を設定します。
- パラメータ
sh: ビデオ出力を担当するSurfaceHolder
void com.kollus.sdk.media.MediaPlayer.setEmulatorCheckerListener(EmulatorCheckerListener listener)
エミュレーター環境で再生を試みたときに発生するイベントを傍受するリスナーを設 定します。
- パラメータ
listener:EmulatorCheckerListenerインスタンス
void com.kollus.sdk.media.MediaPlayer.setInitialBandwidth(int bandwidth)
再生開始時の初期帯域幅を設定します。prepareAsync() の前に呼び出す必要があります。
- パラメータ
bandwidth: 初期視聴帯域幅0: 帯域幅リストの最初の項目から開始0より大きい値: 該当値以下の最適な帯域幅から開始
void com.kollus.sdk.media.MediaPlayer.setKollusPlayerBookmarkListener(KollusPlayerBookmarkListener listener)
ブックマーク関連イベントを処理するリスナーを設定します。
- パラメータ
listener:KollusPlayerBookmarkListenerインスタンス
void com.kollus.sdk.media.MediaPlayer.setKollusPlayerLMSListener(KollusPlayerLMSListener listener)
LMS データ送信関連イベントを処理するリスナーを設定します。
- パラメータ
listener:KollusPlayerLMSListenerインスタンス
void com.kollus.sdk.media.MediaPlayer.setKollusStorage(KollusStorage storage)
StorageManager インスタンスを設定します。initialize() 呼び出し後、setDataSource() 呼び出し前の段階で実行します。
- パラメータ
storage:KollusStorageインスタンス
void com.kollus.sdk.media.MediaPlayer.setLastOffsetTime(int lastOffsetTimeMs)
MPEG-DASH コンテンツの全タイムラインを基準に、終了時点から逆算した特定の視聴開始位置を設定します。
- パラメータ
lastOffsetTimeMs: 終了地点からのオフセット視聴位置 (ms)
void com.kollus.sdk.media.MediaPlayer.setLmsOffDownloadContent(boolean bOn)
ダウンロードされたコンテンツの LMS データ送信の有効化状態を設定します。
- パラメータ
bOn: データ送信の有効化状態(true: 有効、false: 無効)
void com.kollus.sdk.media.MediaPlayer.setLooping(boolean looping)
コンテンツのリピート再生状態を設定します。
- パラメータ
looping: リピート再生の有効化状態(true: リピート再生、false: リピートなし)
void com.kollus.sdk.media.MediaPlayer.setMinDurationForQualityIncreaseMs(int msec)
画質(帯域幅)の上方切り替え前に維持する必要がある最小バッファ持続時間を設定します。デフォルト値は 10 秒であり、prepareAsync() 呼び出し前に設定する必要があります。
- パラメータ
msec: 最小バッファリング時間 (ms)
void com.kollus.sdk.media.MediaPlayer.setMute(boolean mute)
オーディオ出力のミュート状態を設定します。
- パラメータ
mute: ミュートの有効化状態(true: ミュート有効、false: ミュート無効)
boolean com.kollus.sdk.media.MediaPlayer.setNetworkTimeout(int timeout)
ネットワーク接続の Timeout 時間を設定します。
- パラメータ
timeout: ネットワーク Timeout の制限時間 (sec)
- 戻り値: 処理結果(
true: 成功、false: 失敗)
void com.kollus.sdk.media.MediaPlayer.setNotifyLastReport(boolean bOn)
プレイヤー終了時に LMS データ送信完了の有無を UI で通知を受けるかどうかを設定します。有効化時はネットワーク環境により終了時間が遅延することがあります。
- パラメータ
bOn: 通知の有効化状態(true: 通知有効、false: 通知無効)
void com.kollus.sdk.media.MediaPlayer.setOnCompletionListener(OnCompletionListener listener)
OnCompletionListener を設定します。
- パラメータ
listener:OnCompletionListenerインスタンス
void com.kollus.sdk.media.MediaPlayer.setOnErrorListener(OnErrorListener listener)
OnErrorListener を設定します。
- パラメータ
listener:OnErrorListenerインスタンス
void com.kollus.sdk.media.MediaPlayer.setOnExternalDisplayDetectListener(OnExternalDisplayDetectListener listener)
OnExternalDisplayDetectListener を設定します。
- パラメータ
listener:OnExternalDisplayDetectListenerインスタンス
void com.kollus.sdk.media.MediaPlayer.setOnInfoListener(OnInfoListener listener)
OnInfoListener を設定します。
- パラメータ
listener:OnInfoListenerインスタンス
void com.kollus.sdk.media.MediaPlayer.setOnMediaRouteInfoListener(OnMediaRouteInfoListener listener)
OnMediaRouteInfoListener を設定します。
- パラメータ
listener:OnMediaRouteInfoListenerインスタンス
void com.kollus.sdk.media.MediaPlayer.setOnPreparedListener(OnPreparedListener listener)
OnPreparedListener を設定します。
- パラメータ
listener:OnPreparedListenerインスタンス
void com.kollus.sdk.media.MediaPlayer.setOnSeekCompleteListener(OnSeekCompleteListener listener)
OnSeekCompleteListener を設定します。
- パラメータ
listener:OnSeekCompleteListenerインスタンス
void com.kollus.sdk.media.MediaPlayer.setOnTimedTextDetectListener(OnTimedTextDetectListener listener)
OnTimedTextDetectListener を設定します。
- パラメータ
listener:OnTimedTextDetectListenerインスタンス
void com.kollus.sdk.media.MediaPlayer.setOnTimedTextListener(OnTimedTextListener listener)
OnTimedTextListener を設定します。
- パラメータ
listener:OnTimedTextListenerインスタンス
void com.kollus.sdk.media.MediaPlayer.setOnVideoSizeChangedListener(OnVideoSizeChangedListener listener)
OnVideoSizeChangedListener を設定します。
- パラメータ
listener:OnVideoSizeChangedListenerインスタンス
boolean com.kollus.sdk.media.MediaPlayer.setPlayingRate(float playing_rate)
再生速度を設定します。オーディオウォーターマークが含まれるコンテンツは最大 1.5 倍速に制限され、2.0 倍速超過時にフレームドロップ(Frame Drop)が発生することがあります。
- パラメータ
playing_rate: 設定する再生速度の値(範囲: 0.5〜10.0)
- 戻り値: 処理結果(
true: 成功、false: 失敗)
void com.kollus.sdk.media.MediaPlayer.setRemoteMediaRouteInfo(String castNameSpace)
Chromecast レシーバーとのメッセージ送受信時に使用する Namespace を設定します。prepareAsync() 呼び出し前に設定する必要があります。
- パラメータ
castNameSpace: Chromecast レシーバーとの通信に使用する Namespace。Kollus Cast Receiver 使用時はMediaPlayer.CAST_NAME_SPACEを指定
void com.kollus.sdk.media.MediaPlayer.setScreenOnWhilePlaying(boolean screenOn)
コンテンツ再生中の画面常時点灯状態の維持有無を設定します。
- パラメータ
screenOn: 画面常時点灯の有効化状態(true: 常時点灯状態を維持、false: システム設定に従う自動消灯を適用)
void com.kollus.sdk.media.MediaPlayer.setSurface(Surface surface)
ビデオ出力画面を設定します。
- パラメータ
surface: ビデオ画面が出力されるSurfaceインスタンス
void com.kollus.sdk.media.MediaPlayer.setVideoRending(boolean bRendering)
ビデオレンダリングの実行有無を設定します。
- パラメータ
bRendering: レンダリングの実行有無(true: レンダリング実行、false: レンダリング未実行)
void com.kollus.sdk.media.MediaPlayer.skip()
イントロ動画がある場合、現在再生中のコンテンツのスキップを実行します。
void com.kollus.sdk.media.MediaPlayer.start()
一時停止後に再生を再開するか、onPrepared イベント受信後に再生を開始するときに呼び出します。
void com.kollus.sdk.media.MediaPlayer.stop()
再生中のコンテンツを停止します。
boolean com.kollus.sdk.media.MediaPlayer.supportPlaybackrateControl()
現在のプレイヤーの再生速度調整機能のサポート有無を取得します。
- 戻り値: 再生速度のサポート有無(
true: 再生速度サポート、false: 再生速度未サポート)
void com.kollus.sdk.media.MediaPlayer.updateKollusBookmark(int position, String label)
特定の時点にブックマーク情報を追加します。成否は onBookmarkUpdated コールバックを通じて返されます。
- パラメータ
position: ブックマーク保存位置 (ms)label: ブックマークラベル
Property Details
static final int com.kollus.sdk.media.MediaPlayer.APP_STATUS_BACKGROUND = 1
アプリケーションのバックグラウンド実行状態を定義する定数です。
static final int com.kollus.sdk.media.MediaPlayer.APP_STATUS_FOREGROUND = 2
アプリケーションのフォアグラウンド実行状態を定義する定数です。
static final int com.kollus.sdk.media.MediaPlayer.MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK = 200
MPEG4BOX コンテナ構造の欠陥によるプログレッシブ再生不可のエラーコードです。
- 参照: OnErrorListener
static final int com.kollus.sdk.media.MediaPlayer.MEDIA_ERROR_UNKNOWN = 1
原因を特定できない未確認のエラーコードです。
- 参照: OnErrorListener
static final int com.kollus.sdk.media.MediaPlayer.MEDIA_INFO_FRAME_RATE = 7
ビデオフレームレート(Framerate)情報取得のためのステータスコードです。
- 参照: OnInfoListener