UNPKG

expo-dlna-player

Version:

A React Native/Expo module for DLNA/AirPlay media casting to smart TVs and streaming devices

141 lines 4.31 kB
import { DeviceInfo, PlaybackStatus } from './ExpoDlnaPlayer.types'; export * from './ExpoDlnaPlayer.types'; /** * 检查设备是否已连接 * @returns {boolean} 是否已连接到设备 */ export declare function useDeviceConnectivity(): boolean; /** * 开始搜索可用的DLNA设备 */ export declare function startDiscovery(): Promise<void>; /** * 停止设备搜索 */ export declare function stopDiscovery(): Promise<void>; /** * 获取已发现的设备列表 * @returns 设备信息数组 */ export declare function getDevices(): Promise<any[]>; /** * 连接到DLNA/AirPlay设备 * @param deviceId 设备ID * @returns 是否连接成功 */ export declare function connectToDevice(deviceId: string): Promise<boolean>; /** * 断开当前连接的设备 */ export declare function disconnectFromDevice(): Promise<void>; /** * 检查是否已连接到设备 * @returns 是否已连接 */ export declare function isConnected(): Promise<boolean>; /** * 获取当前连接的设备信息 * @returns 设备信息,如果未连接则返回null */ export declare function getConnectedDevice(): Promise<any | null>; /** * 播放媒体 * @param url 媒体URL * @param title 媒体标题 * @param mimeType 媒体类型 */ export declare function play(url: string, title?: string, mimeType?: string): Promise<void>; /** * 暂停当前播放 */ export declare function pause(): Promise<void>; /** * 恢复播放 */ export declare function resume(): Promise<void>; /** * 停止播放 */ export declare function stop(): Promise<void>; /** * 跳转到指定位置 * @param position 位置(秒) */ export declare function seek(position: number): Promise<void>; /** * 设置音量 * @param volume 音量(0-100) */ export declare function setVolume(volume: number): Promise<void>; /** * 获取播放状态 * @returns 播放状态对象 */ export declare function getPlaybackStatus(): Promise<any>; /** * 设置播放速率 * @param rate 播放速率(0.5-2.0之间) */ export declare function setPlaybackRate(rate: number): Promise<void>; /** * 设置静音状态 * @param muted 是否静音 */ export declare function setMuted(muted: boolean): Promise<void>; /** * 获取媒体缓冲状态 * @returns 返回包含缓冲状态的对象 */ export declare function getBufferingStatus(): Promise<object | null>; /** * 检查当前设备是否支持Miracast投屏功能(仅Android可用) * @returns 是否支持Miracast */ export declare function isProjectionSupported(): Promise<boolean>; /** * 开始Miracast投屏(仅Android可用) * @param deviceId 设备ID * @param mode 投屏模式,可选值: "SCREEN_MIRRORING"(默认) 或 "VIDEO_ONLY" * @returns 是否成功启动投屏 */ export declare function startProjection(deviceId: string, mode?: string): Promise<boolean>; /** * 停止Miracast投屏(仅Android可用) */ export declare function stopProjection(): Promise<boolean>; export declare const ExpoDlnaPlayer: { startDiscovery: () => Promise<void>; stopDiscovery: () => Promise<void>; getDevices: () => Promise<DeviceInfo[]>; connectToDevice: (deviceId: string) => Promise<boolean>; disconnectFromDevice: () => Promise<void>; isConnected: () => Promise<boolean>; getConnectedDevice: () => Promise<DeviceInfo | null>; play: (url: string, title?: string, mimeType?: string) => Promise<void>; pause: () => Promise<void>; resume: () => Promise<void>; stop: () => Promise<void>; seek: (position: number) => Promise<void>; setVolume: (volume: number) => Promise<void>; setRate: ((rate: number) => Promise<void>) | undefined; setMuted: ((muted: boolean) => Promise<void>) | undefined; getPlaybackStatus: () => Promise<PlaybackStatus>; getBufferingStatus: () => Promise<object>; addPlaybackStatusListener: (listener: (status: PlaybackStatus) => void) => { remove: () => void; }; addConnectionListener: (listener: (event: { deviceId: string; connected: boolean; }) => void) => { remove: () => void; }; addErrorListener: (listener: (error: { code: string; message: string; }) => void) => { remove: () => void; }; }; export default ExpoDlnaPlayer; //# sourceMappingURL=index.d.ts.map