如何在 React JSX 中调用 Web API?

2023-12-11

我正在使用 React 和 Electron 编写一个音乐播放器,并希望添加音频元数据,以便获得 MPRIS 支持。所以我做了一些搜索并发现媒体会话API是我所需要的。 为了测试它,我将上述链接包含的示例代码中的代码复制到我的项目中的函数中。

  navigator.mediaSession.metadata = new MediaMetadata({
    title: 'Unforgettable',
    artist: 'Nat King Cole',
    album: 'The Ultimate Collection (Remastered)',
    artwork: [
      { src: 'https://dummyimage.com/96x96',   sizes: '96x96',   type: 'image/png' },
      { src: 'https://dummyimage.com/128x128', sizes: '128x128', type: 'image/png' },
      { src: 'https://dummyimage.com/192x192', sizes: '192x192', type: 'image/png' },
      { src: 'https://dummyimage.com/256x256', sizes: '256x256', type: 'image/png' },
      { src: 'https://dummyimage.com/384x384', sizes: '384x384', type: 'image/png' },
      { src: 'https://dummyimage.com/512x512', sizes: '512x512', type: 'image/png' },
    ]
  });

我将其放入一个函数中,当播放下一首歌曲时,组件将调用该函数。但是,我收到了如下错误:

Failed to compile.

./src/components/FM/Cover/index.jsx
  Line 112:  'MediaMetadata' is not defined  no-undef

Search for the keywords to learn more about each error.

Why?


您需要参考window object.

window.MediaMetadata
^^^^^^

这是因为 babel/es-lint 不知道MediaMetadata存在并且会抛出错误。由于 Chrome 将此对象作为全局变量注入,因此可以通过window object.

(为了便于使用,重新发布@AngelSalazar在OP评论中所说的话)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 React JSX 中调用 Web API? 的相关文章

随机推荐

  • YouTube URL 的正则表达式

    我正在使用以下正则表达式来验证 YouTube 视频share url s var valid http youtube com youtu be alert valid test url return false 我希望正则表达式支持以下
  • python对象列表,根据对象属性降序排序

    我有一个对象列表 我需要按对象属性之一对其进行排序 我可以使用以下代码按升序排序 list1 sorted list1 key lambda object1 object1 fitness 但是 这按升序对列表进行排序 而我需要做的是按降序
  • MediaRecorder.ondataavailable - 数据大小始终为 0

    我正在尝试使用 Web API Media Recorder 在浏览器中录制用户的声音 在此阶段 我对录制后的音频所做的就是将其添加到音频元素的源中并进行播放 当我停止录音机时 会触发 ondataavailable 事件 但数据大小为0
  • Java 泛型 - 为什么构造函数中的这个赋值是非法的?

    为什么我在这段代码中遇到编译器错误 我如何解决它 public class Container
  • Django - ImportError:没有名为 apps 的模块

    我正在 djangoproject com 网站上尝试 Django 教程 但是当我到达执行第一个 makemigrations polls 的部分时 我不断收到此错误 导入错误 没有名为 apps 的模块 Traceback most r
  • 在 Expect 脚本中处理多个衍生进程

    这是我的预期脚本的用例 我拥有的少数几个之一 我想运行多个sed通过 ssh 命令 它就像预构建环境设置一样 我想运行这样的东西 usr bin expect set timeout 1 spawn noecho bash c ssh t
  • 如何使用命令行从私有仓库下载 GitHub Release

    GitHub 指南解释了两种授权方式 但看起来这两种方式都不适用于发布文件 后果 curl u username L o a tgz https github com company repository releases download
  • 如何在 Android 的 Unity 中将 System.IO.Stream 转换为纹理?

    我正在 Unity 中构建客户端 Android 应用程序 当它从 AWS S3 服务器下载 jpg 时 结果会以 System IO Stream 的形式返回 然而 我对 Mono 和 Net 的了解有限 这意味着我正在努力弄清楚如何将这
  • SQL 内部联接返回的行数比预期多得多

    当每个表只有 340 行时 以下查询返回 gt 7000 行 SELECT Config Spec TempTable Spec FROM Confg INNER JOIN TempTable on Config Spec TempTabl
  • 为所有用户从 VS.NET MSI 安装程序项目安装快捷方式

    我在这里搜索了又搜索 我尝试过以下方法但没有成功 将项目安装程序属性设置为 InstallforAllUsers 不记得确切的名称 但这确实会将快捷方式添加到所有用户的菜单 但只有安装该应用程序的用户才能运行它 其他用户收到 SysWOW6
  • 动画显示正在退出/被替换的路线

    我通过以下实现进行了简单的淡入淡出页面转换 return new PageRouteBuilder opaque true pageBuilder BuildContext context Animation
  • 访问API网关时缺少身份验证令牌?

    我正在尝试通过 AWS API Gateway 调用 Lambda 函数 当我提到身份验证类型 NONE 时 它工作正常 但 API 变得公开 任何拥有 url 的人都可以访问我的 API 为了使 API 调用安全 我使用身份验证类型 AW
  • 如何在 Azure 应用服务中使用 .Net Core 应用程序发布 Angular 9 Universal

    我使用 Angular 9 创建了一个 Asp NET Core Web 应用程序 我已将 Angular Universal 添加到我的应用程序中 现在我需要将我的应用程序发布到 Azure 应用程序服务中 我使用以下命令来构建应用程序
  • 支持文本路径的文本渲染库

    我需要一个良好 可靠的库或工具链 用于以编程方式将具有不同大小 字体 粗细等的文本渲染为 png 它还需要能够以弧线或路径渲染文本 我希望它能够很快 因为我会像在服务器上运行它一样 我尝试过使用 SVG 和librsvg 但这不会渲染
  • iPhone键盘返回键颜色

    我们可以改变iPhone键盘返回键颜色的颜色吗 苹果支持吗 如果是的话 你能帮我改变它吗 没有可用的公共 API 如果您使用私有 API 那么您的应用程序将在应用程序商店中被拒绝
  • 多种数据类型的列表?

    我有两个这样的课程 public class MachineLine public double X1 public double Y1 public double X2 public double Y2 public double Thi
  • 如何从 Windows Phone 7 或 8 获取用户自己的手机号码

    我想提取 用户own手机号码 不是他的整个电话簿 我使用c 作为开发语言 谢谢 如果您想获取设备自己的电话号码 目前还不可能
  • Spring Cloud Dataflow 有什么好处?

    根据我所看到的 在 Spring Cloud Dataflow SCDF 中创建流将部署底层应用程序 绑定通信服务 如 RabbitMQ 设置 Spring Cloud Stream 环境变量并启动应用程序 这一切都可以使用 cf Push
  • 在 msvc 2010 中构建 boost MPI 时出错

    我已将 openmpi 安装在 C Program Files OpenMPI v1 5 4 win32 中 并希望编译 boost 以生成图形并行库 但出现以下错误 The system cannot find the path spec
  • 如何在 React JSX 中调用 Web API?

    我正在使用 React 和 Electron 编写一个音乐播放器 并希望添加音频元数据 以便获得 MPRIS 支持 所以我做了一些搜索并发现媒体会话API是我所需要的 为了测试它 我将上述链接包含的示例代码中的代码复制到我的项目中的函数中