• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2025 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License"),
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit AVSessionKit
19 */
20
21import { AVCastPickerState } from './@ohos.multimedia.avCastPickerParam';
22
23/**
24 * A picker view to show availale input device list.
25 * @struct { AVInputCastPicker }
26 * @syscap SystemCapability.Multimedia.AVSession.AVInputCast
27 * @atomicservice
28 * @since 20
29 */
30@Component
31export declare struct AVInputCastPicker {
32
33  /**
34   * Set the custom builder for the picker appearance.
35   * If not set, system will show the default appearance for different device type.
36   * @type { ? CustomBuilder }
37   * @syscap SystemCapability.Multimedia.AVSession.AVInputCast
38   * @atomicservice
39   * @since 20
40   */
41  @Prop
42  customPicker?: CustomBuilder;
43
44  /**
45   * Picker state change callback.
46   * @type { ?OnPickerStateCallback }
47   * @syscap SystemCapability.Multimedia.AVSession.AVInputCast
48   * @atomicservice
49   * @since 20
50   */
51  onStateChange?: OnPickerStateCallback;
52}
53
54/**
55 * Callback for picker state
56 *
57 * @typedef { function } OnPickerStateCallback
58 * @param { AVCastPickerState } state - the picker state.
59 * @returns { void }
60 * @syscap SystemCapability.Multimedia.AVSession.AVInputCast
61 * @atomicservice
62 * @since 20
63 */
64export type OnPickerStateCallback = (state: AVCastPickerState) => void;