mirror of
https://github.com/zoriya/react-native-omni.git
synced 2026-08-16 02:44:51 +00:00
feat(android): support chromecast
This commit is contained in:
+2
-2
@@ -53,8 +53,8 @@ export function usePlayerState<Key extends keyof OmniPlayerState>(
|
||||
em.addPlayerStatusListener(setState);
|
||||
return () => em.removePlayerStatusListener(setState);
|
||||
case "castStatus":
|
||||
// TODO: implement this
|
||||
return;
|
||||
em.addCastStatusListener(setState);
|
||||
return () => em.removeCastStatusListener(setState);
|
||||
}
|
||||
}, [player, key]);
|
||||
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@ export const OmniProvider = ({
|
||||
source,
|
||||
backend = { android: "vlc" },
|
||||
showNotification = false,
|
||||
cast: _,
|
||||
cast,
|
||||
}: {
|
||||
source?: Source;
|
||||
cast?: CastOptions;
|
||||
@@ -24,7 +24,7 @@ export const OmniProvider = ({
|
||||
showNotification?: boolean;
|
||||
}) => {
|
||||
const player = useLazyRef(() =>
|
||||
ProviderFactory.createPlayer(source, backend),
|
||||
ProviderFactory.createPlayer(source, backend, cast),
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import type { HybridObject } from "react-native-nitro-modules";
|
||||
import type { OmniEvents } from "../types/events";
|
||||
import type {
|
||||
CastStatus,
|
||||
OmniPlayerState,
|
||||
OmniPlayer as OmniPlayerT,
|
||||
PlayerBackend,
|
||||
PlayerStatus,
|
||||
} from "../types/player";
|
||||
import type { Source } from "../types/source";
|
||||
import type { CastOptions, Source } from "../types/source";
|
||||
|
||||
export type NumberProperty = Exclude<
|
||||
keyof OmniPlayerState,
|
||||
@@ -25,6 +26,9 @@ export interface OmniEventMap extends HybridObject<{ android: "kotlin" }> {
|
||||
addPlayerStatusListener(cb: (value: PlayerStatus) => void): void;
|
||||
removePlayerStatusListener(cb: (value: PlayerStatus) => void): void;
|
||||
|
||||
addCastStatusListener(cb: (value: CastStatus) => void): void;
|
||||
removeCastStatusListener(cb: (value: CastStatus) => void): void;
|
||||
|
||||
addOnEndListener(cb: OmniEvents["end"]): void;
|
||||
removeOnEndListener(cb: OmniEvents["end"]): void;
|
||||
|
||||
@@ -60,5 +64,9 @@ export interface OmniPlayer
|
||||
}
|
||||
|
||||
export interface OmniPlayerFactory extends HybridObject<{ android: "kotlin" }> {
|
||||
createPlayer(props?: Source, backend?: PlayerBackend): OmniPlayer;
|
||||
createPlayer(
|
||||
props?: Source,
|
||||
backend?: PlayerBackend,
|
||||
cast?: CastOptions,
|
||||
): OmniPlayer;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user