IPlayerClientFactory
IPlayerClientFactory
提供Kepler播放器客户端实例的组件。
方法
getOrMakeClient()
getOrMakeClient(
serviceComponentId):IPlayerClient
获取或创建Kepler播放器客户端的实例。
参数
serviceComponentId
string
是服务组件的componentID,应用将启动该组件以在服务中托管播放会话。示例:serviceComponentID: "com.x.y.z.headlessservice"
返回值
Kepler播放器客户端实例。
示例
// 用法示例
import {PlayerClientFactory, IPlayerClient} from '@amazon-devices/kepler-player-client';
import {PackageInfo, PackageManager} from '@amazon-devices/package-manager-lib';
const parseClientPackageManifest = async (): Promise<string> => {
try {
const selfPackageInfo: PackageInfo =
await PackageManager.getSelfPackageInfo();
for (const component of selfPackageInfo.components) {
if (component.type === 'service') {
return component.id;
}
}
return '';
} catch (error) {
console.warn(
`交互: 无法从程序包管理器中检索信息,${error.message}`,
);
return '';
}
};
const playerClientRef = useRef<IPlayerClient | null>(null);
const playerClientFactory = new PlayerClientFactory();
let serviceComponentId: string | undefined =
await this.parseClientPackageManifest();
if (playerClientRef.current == null) {
playerClientRef.current =
playerClientFactory.getOrMakeClient(serviceComponentId);
}
Last updated: 2025年10月2日

