Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
Ring
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート
メインコンテンツへスキップ
SeekBarコンポーネントは、メディアナビゲーション機能を備えた対話型の進行状況コントロールです。基本的な進行状況バーを拡張し、TVメディアプレーヤーでよく使用される高度な再生制御機能を提供します。

使用シナリオ

SeekBarコンポーネントは、次のようなメディアナビゲーション機能を必要とするアプリに最適です。
  • ビデオ/オーディオプレーヤー
  • タイムラインのスクラブ
  • コンテンツのプレビューシステム
  • 進行状況の追跡インターフェイス
  • 対話型のメディアナビゲーション
このコンポーネントはプロパティを通じたカスタマイズが可能で、一貫性のある直感的なユーザーエクスペリエンスを維持しながら、固有のユースケースに合わせて動作と外観をカスタマイズできます。

ユーザーエクスペリエンス

コアプロパティ

currentValue

必須 コンテンツの進行状況を表す現在の位置の値。
現在の値の位置を指すマーカーが表示されたSeekBarのスクリーンショット。 型 number 0からtotalValueまでの値でなければなりません(両端の値を含む)。

totalValue

必須 シークバーの最大値。合計時間または範囲を表します。
終了位置を指す合計値のマーカーが表示されたシークバーのスクリーンショット。 型 number

step

D-Padナビゲーションの使用時に増加または減少させる増減分量の値。正の値にすることも、負の値にすることもできます。
型 number デフォルト 10

対話制御プロパティ

disabled

すべてのユーザー操作とそのリモコンイベントを有効または無効にします。
型 boolean\ デフォルト false

disabledWhenNotFocused

trueの場合、シークバーにフォーカスがないときのユーザー操作を無効にします。このプロパティは、フォーカス管理が不可欠なTVインターフェイスにとって重要であり、フォーカス管理をアプリコードで手動で行うのではなく、コンポーネントに自動的に処理させる場合に最適です。
型 boolean\ デフォルト false

disableThumbnail

サムネイル画像のプレビュー機能を有効または無効にします。サムネイル画像を表示するには、thumbnailImageSourceプロパティを使用します。
型 boolean\ デフォルト false

trapFocus

SeekBarコンポーネントのフォーカスナビゲーション動作を制御します。
型 boolean\ デフォルト false 有効にすると、SeekBar内から左右方向へのD-Padによるフォーカスナビゲーションをトラップします。SeekBarの上または下にあるコントロールへの上下方向のナビゲーションは引き続き機能します。

PartialDisablingConfiguration

どの特定のユーザー操作を無効にするかを制御します。
型 PartialDisablingConfiguration(型定義Typesセクションを参照) このプロパティを指定すると、グローバルのdisabledとdisabledWhenNotFocusedの設定がオーバーライドされます。 このプロパティは、特定のボタンだけを無効にする場合に便利です。たとえば、シーク動作(D-Padのrightとleft)を維持したまま、skipForward >>またはskipBackward <<を無効にしたり、カスタム処理のためにデフォルトの動作を削除したりできます。 指定できるアクション:
  • playPause
  • skipBackward
  • skipForward
  • left
  • right
  • select
  • back
PartialDisablingConfigurationオブジェクトを指定するとき、各アクションのデフォルト値はすべてfalseに設定されます。 注:backボタンを無効にした場合、影響を受けるのはSeekBar内の操作だけで、外部ナビゲーションやコンポーネント外で行われるその他の操作には影響しません。

コールバックプロパティ

onValueChange

スライド中につまみの値が変更されたときに呼び出されるコールバック。
型 (value: number) => void

onSlidingStart

スライド操作が開始されたときに呼び出されるコールバック。D-Padでは、最初に左ボタンまたは右ボタンが押されたとき(キーダウン)にコールバックがトリガーされます。
型: () => void

onSlidingEnd

スライド操作が終了したときに呼び出されるコールバック。D-Padナビゲーションでは、左ボタンまたは右ボタンが解放されたとき(キーアップ)にトリガーされます。
型 () => void | undefined

onRewindPress

ユーザーが早戻しアクションをトリガーしたときに呼び出されるコールバック。デフォルトでは、このボタンを押すと、コンテンツを早戻しする長押し操作がシミュレートされます。 RCUの早戻しボタン(<<)では、解放時(キーアップ)にトリガーされます。
型 () => void 関連プロパティ:longPressIntervalDuration、stepMultiplierFactor、enableSkipForwardBackwardAcceleration。

onFastForwardPress

ユーザーが早送りアクションをトリガーしたときに呼び出されるコールバック。デフォルトでは、このボタンを押すと、コンテンツを早送りする長押し操作がシミュレートされます。 RCUの早送りボタン(>>)では、解放時(キーアップ)にトリガーされます。
型 () => void 関連プロパティ:longPressIntervalDuration、stepMultiplierFactor、enableSkipForwardBackwardAcceleration。

onPress

ユーザーがリモコンの選択ボタンを押したときに呼び出されるコールバック。
型 (seekBarThumbValue: number) => void

onPlayPause

ユーザーがリモコンの再生/一時停止ボタンを押したときに呼び出されるコールバック。
型 (seekBarThumbValue: number) => void

onFocus

シークバーがフォーカスを受け取ったときに呼び出されるコールバック。
型 () => void

onBlur

シークバーがフォーカスを失ったときに呼び出されるコールバック。
型 () => void

onSeekInteractionChange

D-Padによるシーク操作中に呼び出されるコールバック。 イベントオブジェクトには、シーク方向を示すdirectionプロパティが含まれています。
  • 'forward':右方向のD-Padナビゲーションによるシーク(最初の押下時)
  • 'rewind':左方向のD-Padナビゲーションによるシーク(最初の押下時)
  • 'fast_forward':右方向の長押しのD-Padナビゲーション
  • 'fast_rewind':左方向の長押しのD-Padナビゲーション
  • null:シーク操作が終了したとき(ユーザーがシーク後にD-Padを離したとき)に送信されます
型 (event: InteractionEventPayload) => void

イベントシーケンス

onSeekInteractionChangeコールバックは、D-Padの操作中に特定の順序で呼び出されます。 D-Padの右方向の例
  1. 最初の押下時(キーダウン):event.direction = 'forward'
  2. 長押しした場合(longPressDelayの後):event.direction = 'fast_forward'
  3. 解放時(キーアップ):event.direction = null
D-Padの左方向の例
  1. 最初の押下時(キーダウン):event.direction = 'rewind'
  2. 長押しした場合(longPressDelayの後):event.direction = 'fast_rewind'
  3. 解放時(キーアップ):event.direction = null

完全なイベントフロー

長押し操作での完全なシーケンスは次のようになります。
短い押下(クイックタップ)でのシーケンスは次のようになります。

視覚的なカスタマイズプロパティ

markers

シークバーに表示するマーカーの配列。次の3種類のマーカーがサポートされます。
型 ReactNodeMarker[] | BreakMarker[] マーカーの種類
  • ReactNodeマーカー:複雑な視覚要素を表すカスタムReactコンポーネント。
  • ポイントマーカー:シークバーをセグメントに区切る色付きのポイント。通常は広告マーカーに使用されます。
  • セグメントマーカー:バーを複数の異なるセグメントに分割するブレークマーカー。
制限事項
  • ReactNodeマーカーをポイントマーカーやセグメントマーカーと組み合わせることはできません。
  • ポイントマーカーとセグメントマーカーは併用できます。
  • ポイントマーカーの間には少なくとも3%の間隔が必要です。
  • ポイントマーカーを配置できる位置は、SeekBarの合計幅の97%までです。
例1 ポイントマーカー 広告の位置を示すポイントマーカーが表示されたシークバーのスクリーンショット。 例2 セグメントマーカー ビデオセグメントマーカーが表示されたシークバーのスクリーンショット。この例では、「First impressions」、「Interior and exterior」、「Mechanical impressions」という3つのラベルが付いています。

displayAboveThumb

シークバーのつまみの上にレンダリングするカスタムコンテンツ。レンダリング関数またはReactノードを使用できます。レンダリング関数は、{ mode, stepValue, multiplier, focused }の各プロパティを受け取ります。
つまみの上に「Seeking」というテキストが表示されたシークバーのスクリーンショット。 型 DisplayAboveThumbType | React.ReactNode(型定義Typesセクションを参照)

displayBelowThumb

シークバーのつまみの下にレンダリングするカスタムコンテンツ。レンダリング関数またはReactノードを使用できます。
つまみの下に「Seeking」というテキストが表示されたシークバーのスクリーンショット。 型 (() => React.ReactNode) | React.ReactNode

thumbIcon

つまみのアイコンを表すカスタムコンポーネント。レンダリング関数またはReactノードを使用できます。レンダリング関数は{ focused }プロパティを受け取ります。
つまみのアイコンマーカーが表示されたシークバーのスクリーンショット。 型 ((props: ThumbIconProps) => React.ReactNode) | React.ReactNode 注:focusedコールバック引数を受け取る動的なアイコンを使用する場合は、適切なフォーカス動作のためにdisabledWhenNotFocused={true}を設定してください。

currentValueIndicatorColor

進行状況インジケーターの完了済み部分の色。静的な色を使用するか、フォーカス状態に基づいて色を返す関数を使用できます。
赤とグレーの色が設定されたシークバーのスクリーンショット。 型 ColorValue | ((isFocused: boolean) => ColorValue)

barTrackColor

スライダーの未完了部分の色。
バートラックの色をオレンジに設定したシークバーのスクリーンショット。 型 ColorValue

segmentColors

セグメントのカラー構成。
型 SegmentColorsConfig
セグメントの色を構成するオブジェクト。特定のセグメントをインデックスで指定してカスタマイズできます。任意のセグメントに色を指定できます。必ずしも順番どおりに指定する必要はなく、カスタムの色が不要なセグメントはスキップできます。 注:アニメーションが有効な場合、segmentColorsのseekColorは適用されません。ブレークマーカーがない場合、バーにセグメントの色は適用されません。

使用例

黄色いセグメントの色
別々のセグメントに黄色、暗い黄色、濃いグレーの色を適用した例のスクリーンショット。 赤いセグメントの色
別々のセグメントラインに赤、暗い赤、濃いグレーの色を適用した例のスクリーンショット。

スタイルプロパティ


barStyle

スライダーバーのスタイルオーバーライド。
バースタイルを太く設定したシークバーのスクリーンショット。 型 StyleProp<ViewStyle>

currentValueIndicatorStyle

進行状況インジケーターのスタイルオーバーライド。
型 StyleProp<ViewStyle>

timeShiftIndicatorStyle

タイムシフトインジケーターのスタイルオーバーライド。
オレンジ色のスタイルのタイムシフトインジケーターを示すスクリーンショット。 型 StyleProp<ViewStyle>

サムネイルプロパティ

thumbnailStyle

サムネイルコンテナのスタイルオーバーライド。
サムネイルスタイルとして、縦長のサムネイルに軽いシャドウ効果のあるオレンジ色の境界線を適用した例のスクリーンショット。 型 StyleProp<ViewStyle>

thumbnailImageSource

サムネイルプレビューの画像ソース。動的なソースを表すレンダリングプロパティを指定できます。
アップロードした画像をサムネイルとして表示した例のスクリーンショット。 型 ((thumbValue: number) => ImageSourcePropType) | ImageSourcePropType

thumbnailImageStyle

サムネイル画像のスタイルオーバーライド。
サムネイルのスタイルとして、シャドウ効果のある太いグレーの境界線を適用した例のスクリーンショット。 型 StyleProp<ImageStyle>

thumbnailImageResizeMode

サムネイル画像のサイズ変更モード。
サムネイルを2倍のサイズで表示した例のスクリーンショット。 型 ImageResizeMode\ デフォルト "cover"

thumbnailLabel

サムネイルに表示するラベル。動的なコンテンツを表すレンダリングプロパティを指定できます。
タイムスタンプを示すラベルの付いたサムネイルのスクリーンショット。26:13と表示されています。 型 ((thumbValue: number) => string) | string

thumbnailLabelTextStyle

サムネイルラベルテキストのスタイルオーバーライド。
黄色いテキストのスタイルのサムネイルラベルを示すスクリーンショット。 型 StyleProp<TextStyle>

thumbnailLabelContainerStyle

サムネイルラベルコンテナのスタイルオーバーライド。
背景のスタイルとして、角の丸いオレンジ色のバーが適用されたラベルのスクリーンショット。 型 StyleProp<ViewStyle>

操作タイミングのプロパティ

longPressIntervalDuration

D-Padの長押しアクションの間隔の長さ(ミリ秒)。方向キーを押している間、どのくらいの頻度でシークアクションを更新するかを制御します。デフォルトでは、リモコンから送信されるイベントの頻度と一致します。このデフォルト値のままにしておくことをお勧めします。
型 number\ デフォルト 200 例1 長押し時間:200 例2 長押し時間:400

longPressDelay

長押しアクションがトリガーされるまでの時間(ミリ秒)。D-Pad入力では、ユーザーが左方向キーまたは右方向キーを押し続けると長押しがトリガーされます。
型 number\ デフォルト 250 例1 長押し遅延:200 例2 長押し遅延:3000

keyDownThrottleDelay

キーダウンイベントをスロットリングするための遅延時間。キーがすばやく押されたときに、イベント処理が過剰に発生するのを防ぐために役立ちます。
型 number\ デフォルト 0

animationDuration

enableAnimationsがtrueの場合のアニメーションの長さ(ミリ秒)。つまみと進行状況の遷移にかかる時間を制御します。長押し操作と早送りまたは早戻し操作のアニメーションが自然に感じられるように、longPressIntervalDurationとanimationDurationの両方に同じ値を設定することをお勧めします。enableAnimationsがfalseの場合は効果はありません。
型 number\ デフォルト 200

シーク動作のプロパティ

maxStepValue

長押し中に段階的にシークを加速する場合の最大ステップ値。加速中にシークのステップがどこまで大きくなるかを制限します。
型 number\ デフォルト 160

stepMultiplierFactor

段階的に加速するシークのステップの乗算係数。加速中にどのくらいの速さでシーク速度を上げるかを決定します。この係数がstep値に乗算されます。enableLongPressAccelerationまたはenableSkipForwardBackwardAccelerationが有効な場合にのみ適用されます。
型 number\ デフォルト 1 例
  • stepMultiplierFactor={1}:一定の加速 - 1x → 2x → 3x → 4x, ..
  • stepMultiplierFactor={2}:高速な加速 - 時間とともに速度が2倍になります。1x → 2x → 4x → 8x, ..
  • stepMultiplierFactor={3}:高速な加速 - 時間とともに速度が3倍になります。1x → 3x → 6x → 12x, ..

stepMultiplierFactorInterval

ステップ乗数を増加させる時間間隔(ミリ秒)。D-Padの左方向または右方向の長押しによる加速中に、どのくらいの頻度でシーク速度を上げるかを制御します。速度の上昇率はstepMultiplierFactorによって処理されます。
型 number\ デフォルト 1000

lowerSeekLimit

シークバーの範囲内のシーク可能な最小値。この値より前の位置にシークすることを防ぎます。
型 number\ デフォルト 0

upperSeekLimit

シークバーの範囲内のシーク可能な最大値。この値より後の位置にシークすることを防ぎます。
型 number\ デフォルト totalValue

enableLongPressAcceleration

長押し操作中の段階的な加速を有効にします。有効な場合、stepMultiplierFactorとstepMultiplierFactorIntervalの設定に基づいて、ステップ乗数が時間とともに増加します(1倍、2倍、3倍、4倍など)。step値には現在の乗数が乗算されます。これにより、左方向または右方向のキーまたはボタンを押し続けたときにシーク速度が上がります。
型 boolean\ デフォルト false

enableSkipForwardBackwardAcceleration

早送りまたは早戻し操作中の段階的な加速を有効にします。有効な場合、早送り(>>)ボタンまたは早戻し(<<)ボタンを連続して押すと、stepMultiplierFactorの設定に基づいてステップ乗数が増加します(1倍、2倍、3倍、4倍、5倍など)。step値には現在の乗数が乗算されます。
型 boolean\ デフォルト false

enableAnimations

シークバーのつまみと進行の動きのアニメーションを有効または無効にします。 trueの場合、シークバーは位置の変更をスムーズにアニメーション化し、timeShiftIndicatorStyleプロパティは適用されません。falseの場合、位置は即座に変更され、すべての視覚要素がレンダリングされます。
型 boolean\ デフォルト false

型定義

PartialDisablingConfiguration


InteractionEventPayload


DisplayAboveThumbProps


SegmentColorsConfig


ThumbIconProps


SeekMode

用語集

以下のリストに、このドキュメントで使用される重要な用語を示します。 つまみ - 現在の値(currentValue)を設定するためにユーザーが使用できるSeekBarの対話型要素。デフォルトでは、つまみはSeekBarのcurrentValueの位置に配置されます。ユーザーがつまみを操作すると、それに応じてつまみの位置が変わります。 タイムシフト - つまみを使用して前後にスクラブする操作。 タイムシフトインジケーター - ユーザーがつまみを動かしたときに、currentValueと現在のつまみの位置とのギャップを表すインジケーター。 現在の値のインジケーター - SeekBarの完了済みの部分。現在の値を示します(進行状況インジケーター)。 シークサムネイル - 通常SeekBarのつまみの上に表示される、画像ベースのサムネイルコンポーネント。画像プレビューやサムネイルラベルなどのコンテンツを表示します。 マーカー - SeekBar全体に水平に配置されるカスタムのReactノードまたはビュー。マーカーの種類には、ReactNodeマーカー(カスタムコンポーネント)、ポイントマーカー(色付きのポイント)、セグメントマーカー(ブレークマーカー)の3つがあります。 ポイントマーカー - シークバーをセグメントに分ける色付きのマーカー。広告マーカーによく使用されます。ReactNodeマーカーと組み合わせることはできません。 セグメントマーカー(ブレークマーカー)- バーを複数の異なるセグメントに分割するマーカー。ポイントマーカーと組み合わせることができます。 ReactNodeマーカー - 複雑な視覚要素を表すカスタムReactコンポーネント。ポイントマーカーやセグメントマーカーと組み合わせることはできません。 長押し - ユーザーがD-Padボタン(左方向または右方向)を押し続けると、加速シーク動作がトリガーされます。 早送り/早戻し - 長押し操作をシミュレートしてコンテンツをシークするリモコンボタン(>>と<<)。 D-Padナビゲーション - 左方向または右方向のD-Padコントロール。シークやつまみの移動に使用されます。 フォーカストラップ - 有効な場合、フォーカスがSeekBarから外れて左右に移動することを防ぎます。上下へのナビゲーションは可能です。 加速 - 長押しまたは連続スキップ操作中に段階的に速度が上がること。stepMultiplierFactorによって制御されます。 シーク制限 - 合計範囲内のシーク可能な位置を制限する境界(lowerSeekLimitまたはupperSeekLimit)。 セグメント - ブレークマーカーによって作成されたシークバーのセクション。各セクションには、カスタマイズ可能な色と視覚のプロパティがあります。
最終更新日 2026年10月26日