0

我正在尝试使用Nativescript创建一个 Android 应用程序。到目前为止,我做得很好,除了一件事(并且 - 考虑到这是一个用于收听播客的应用程序 - 也许是最重要的一个)。

为了在我的应用程序中重现 mp3 文件,我使用了一个非常有名的插件,名为nativescript-audio。它工作得很好,除了当手机处于锁定屏幕时不显示任何控制。这是我想给用户的东西。

阅读一些 android 开发者文档,我发现我可能需要一个MediaSession,然后添加一些带有动作的图标并编写一些回调函数来操作播放器。

问题是:在 Nativescript 中,我该怎么做?

this.session = new android.media.session.MediaSession(
    android.content.Context,
    'My Media Session'
)

这是我在播放器 TypeScript 类中使用的片段。但不起作用,因为我收到此错误:

Error: Cannot marshal JavaScript argument function () { [native code] } at index 0 to Java type.

在愿意帮助我之前有这个问题的人吗?非常感谢!

4

1 回答 1

1

您应该传递一个有效的上下文,您正在传递上下文类定义本身。

import { android as androidApp } from "tns-core-modules/application";

this.session = new android.media.session.MediaSession(
  androidApp.context,
  'My Media Session'
)
于 2019-04-05T18:36:46.677 回答