如何在Nativescript中创建MediaSession?

时间:2019-04-05 18:27:23

标签: nativescript angular2-nativescript nativescript-plugin

我正在尝试使用 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.

遇到这个问题的人愿意帮助我吗?谢谢你!

1 个答案:

答案 0 :(得分:1)

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

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

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