如何在Nativescript中创建MediaSession?

如何在Nativescript中创建MediaSession?,nativescript,angular2-nativescript,nativescript-plugin,Nativescript,Angular2 Nativescript,Nativescript Plugin,我正在尝试使用Nativescript创建一个Android应用程序。到目前为止,我做得很好,除了一件事(考虑到这是一个收听播客的应用程序,可能是最重要的一个) 为了在我的应用程序中复制mp3文件,我使用了一个非常有名的插件,名为nativescriptaudio。它工作得很好,除了当手机处于锁定屏幕时,它不会显示任何控制。这是我想给用户的东西 阅读一些android开发者文档,我发现我可能需要一个MediaSession,然后添加一些带有操作的图标,并编写一些回调函数来操作播放器 问题是:在N

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

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

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

问题是:在Nativescript中,我如何才能做到这一点

this.session = new android.media.session.MediaSession(
    android.content.Context,
    'My Media Session'
)
这是我在player TypeScript类中使用的代码片段。但不工作,因为我收到以下错误:

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

以前有谁有这个问题愿意帮我吗?非常感谢

您应该传递一个有效的上下文,因为您传递的是上下文类定义本身

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

this.session = new android.media.session.MediaSession(
  androidApp.context,
  'My Media Session'
)

非常感谢。虽然我仍然不能做一些我想做的事情(比如用
setCallback
正确设置函数),但这是一个巨大的帮助。非常感谢。