2017-04-13 3 views
0

나는이 같은 이온 성 출신의 media 플러그인을 사용하려고 해요 :ionic media plugin - onStatus를 mediaObject로 업데이트 하시겠습니까?

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의 상태에 액세스하는 방법이 있습니까?

답변

0

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이 속성 업데이트를 감지하지 못했습니다.