Ionic2 离子媒体插件-将onStatusUpdate传递给mediaObject?

Ionic2 离子媒体插件-将onStatusUpdate传递给mediaObject?,ionic2,cordova-plugins,ionic-native,Ionic2,Cordova Plugins,Ionic Native,我尝试使用ionic native的插件,如下所示: record(){ ... return this.media.create(src,onStatusUpdate).then((mediaObj) => { mediaObj.startRecord(); return mediaObj; }); } 我使用从别处返回的mediaObj,但我还需要知道mediaObj的状态;这显然来自将第二个参数(回调函数)传递给media.c

我尝试使用ionic native的插件,如下所示:

record(){
    ...
    return this.media.create(src,onStatusUpdate).then((mediaObj) => {
        mediaObj.startRecord();
        return mediaObj;
    });
}
我使用从别处返回的mediaObj,但我还需要知道mediaObj的状态;这显然来自将第二个参数(回调函数)传递给media.create()函数。但是,我不知道如何获得mediaObj的状态。我知道下面只告诉我状态就行了,但我确实需要访问它

const onStatusUpdate = (status) => console.log(status);

所以,问题是,有没有一种方法可以简单地访问mediaObj的状态?

MediaPlugin状态更新通知就是您所得到的所有信息,所以请使用状态更改时获得的值设置一个类属性

为了管理MediaObject,我将属性设置为解析承诺时获得的值

import { ApplicationRef } from '@angular/core';
...
...

export class PlayerPage {
  track:any;
  file:MediaObject = undefined;
  position:any = undefined;
  status:any = 0;

  constructor(public ref ApplicationRef, public navCtrl: NavController, private navParams: NavParams, public AppstateProvider: Appstate, private media: MediaPlugin) {
    this.track = navParams.get('track');

    media.create('http://.../...mp3',(status)=>{
      this.status = status;
      this.ref.tick();
    }).then((file: MediaObject) => {
      this.file = file;
    });
  }

play() {
  this.file.play();
}
this.ref.tick()的值;是必需的,因为Angular未检测到此属性更新-我尝试发布和订阅Angular,但仍然未检测到属性更新