-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaudio-input.svelte
More file actions
65 lines (56 loc) · 1.62 KB
/
audio-input.svelte
File metadata and controls
65 lines (56 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<script lang="ts">
import { AudioInClient } from '@viamrobotics/sdk'
import { createResourceClient, createResourceQuery } from '@viamrobotics/svelte-sdk'
import ApiSection from '$lib/components/api-section.svelte'
import ConnectionStatus from '$lib/components/connection-status.svelte'
import Query from '$lib/components/query.svelte'
import RefetchController from '$lib/components/refetch-controller.svelte'
import { createRefetchIntervalStore } from '$lib/components/refetch-interval-store.svelte'
import Properties from './properties.svelte'
interface Props {
partID: string
resourceName: string
}
const { partID, resourceName }: Props = $props()
const refetchInterval = createRefetchIntervalStore(
() => partID,
() => resourceName,
'audio-input'
)
const client = createResourceClient(
AudioInClient,
() => partID,
() => resourceName
)
const propertiesQuery = createResourceQuery(client, 'getProperties', () => ({
refetchInterval: refetchInterval.current,
}))
</script>
<ConnectionStatus {partID}>
{#snippet connected()}
<div class="p-4 pb-3">
<RefetchController
{refetchInterval}
queries={[propertiesQuery]}
/>
</div>
<ApiSection
title="GetProperties"
description="Audio input properties"
class="relative"
>
<Query
query={propertiesQuery}
contentCx="h-6"
>
{#if propertiesQuery.data !== undefined}
<Properties
supportedCodecs={propertiesQuery.data.supportedCodecs}
sampleRateHz={propertiesQuery.data.sampleRateHz}
numChannels={propertiesQuery.data.numChannels}
/>
{/if}
</Query>
</ApiSection>
{/snippet}
</ConnectionStatus>