Utilização

Play a track and record a voice note

Este tipo é usado por audio.player

tsx
import { Box, Button, VStack, Text, audio, onMount } from 'kuito';

function Track() {
  // The component owns it: made when it mounts, released when it unmounts.
  const song = audio.player('https://example.com/song.mp3', { loop: true });
  const { time, duration } = song;

  return (
    <VStack>
      {/* A 280-point bar that fills from the left, moved on the UI thread. */}
      <Box width={280} height={4} overflow="hidden">
        <Box
          width={280}
          height={4}
          backgroundColor="#e50914"
          translateX={duration.value > 0 ? (time.value / duration.value - 1) * 280 : -280}
        />
      </Box>
      <Button onPress={() => (song.playing.value = !song.playing.value)}>
        {song.playing.value ? 'Pause' : 'Play'}
      </Button>
      <Button onPress={() => void song.seek(time.value + 30)}>Skip</Button>
    </VStack>
  );
}

function Memo() {
  const recorder = audio.recorder({ quality: 'medium', metering: true });

  onMount(() => void audio.configure({ allowsRecording: true }));

  return (
    <VStack>
      <Box height={8} backgroundColor="#e5484d" opacity={1 + recorder.level.value / 60} />
      <Button onPress={() => void recorder.start()}>Record</Button>
      <Button onPress={async () => console.log((await recorder.stop()).uri)}>Stop</Button>
    </VStack>
  );
}

Declaração do tipo

ts
export type AudioPlayerOptions = ScopeOptions & {
  /** 0 to 1. Defaults to 1. */
  volume?: number;
  /** 0.5 to 2, pitch kept. Defaults to 1. */
  rate?: number;
  /** Starts over at the end instead of stopping. Defaults to false. */
  loop?: boolean;
};

Membros 4

NomeTipoObrigatórioDescrição
scopetypeof appModuleNão—
volumenumberNão0 to 1. Defaults to 1.
ratenumberNão0.5 to 2, pitch kept. Defaults to 1.
loopbooleanNãoStarts over at the end instead of stopping. Defaults to false.
scope — campos aninhados

scope campos

NomeTipoObrigatórioDescrição
watch<E extends keyof Events>(event: E, listener: Events[E]) => EventSubscriptionSimCalls listener when the system warns that memory runs low. In a component it stops when the component unmounts; elsewhere the returned subscription stops it.
stateReadonlySignal<State>SimWhether the app is in the foreground. Watched, it follows the platform; starting to observe reports the state the platform starts from, which catches a change made in between.
Predefinição: AppStateModule.state
openSettings() => Promise<void>SimOpens this app's page in the system Settings.
Predefinição: AppStateModule.openSettings
watch — assinaturas de método

Assinaturas

ts
<E extends keyof Events>(event: E, listener: Events[E]): EventSubscription

Parâmetros de tipo

NomeRestriçãoPredefinição
E"memoryWarning"—

Parâmetros

NomeTipoObrigatórioDescrição
eventESim—
listenerEvents[E]Sim—

Devolve

EventSubscription

openSettings — assinaturas de método

Assinaturas

ts
(): Promise<void>

Parâmetros

Sem parâmetros.

Devolve

Promise<void>

Gerado a partir das declarações TypeScript públicas: assinaturas, props e predefinições vêm da fonte verificada, as descrições da sua JSDoc. Nenhuma predefinição é inventada.