[Video] Captions and alt text (#5009)

* video settings modal in composer

* show done button on web

* rm download options

* fix logic for showing settings button

* add language picker (wip)

* subtitle list with language select

* send captions & alt text with video when posting

* style "ensure you have selected a language" text

* include aspect ratio with video

* filter out captions where the lang is not set

* rm log

* fix label and add hint

* minor scrubber fix
This commit is contained in:
Samuel Newman 2024-08-30 18:45:49 +01:00 committed by GitHub
parent e7954e590b
commit c70ec1ce1a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 503 additions and 30 deletions

View file

@ -1,32 +1,41 @@
/* eslint-disable @typescript-eslint/no-shadow */
import React from 'react'
import {View} from 'react-native'
import {ImagePickerAsset} from 'expo-image-picker'
import {useVideoPlayer, VideoView} from 'expo-video'
import {CompressedVideo} from '#/lib/media/video/compress'
import {ExternalEmbedRemoveBtn} from 'view/com/composer/ExternalEmbedRemoveBtn'
import {atoms as a} from '#/alf'
import {atoms as a, useTheme} from '#/alf'
export function VideoPreview({
asset,
video,
clear,
}: {
asset: ImagePickerAsset
video: CompressedVideo
setDimensions: (width: number, height: number) => void
clear: () => void
}) {
const t = useTheme()
const player = useVideoPlayer(video.uri, player => {
player.loop = true
player.muted = true
player.play()
})
const aspectRatio = asset.width / asset.height
return (
<View
style={[
a.w_full,
a.rounded_sm,
{aspectRatio: 16 / 9},
{aspectRatio: isNaN(aspectRatio) ? 16 / 9 : aspectRatio},
a.overflow_hidden,
a.border,
t.atoms.border_contrast_low,
]}>
<VideoView
player={player}