Skip to content

Instantly share code, notes, and snippets.

@benfoley
Created July 20, 2017 03:32
Show Gist options
  • Save benfoley/37c7b8564fccac77ba7ee6c2a257b5f6 to your computer and use it in GitHub Desktop.
Save benfoley/37c7b8564fccac77ba7ee6c2a257b5f6 to your computer and use it in GitHub Desktop.
Trying to play audio with Ionic Native Media plugin
import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { File } from '@ionic-native/file';
import { Media, MediaObject } from '@ionic-native/media';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public file: File, public media: Media, public platform: Platform) {
}
startRecord() {
let src = this.file.externalDataDirectory + "audio.wav";
let audioObject = this.media.create(src);
audioObject.onStatusUpdate.subscribe(status => console.log(status));
audioObject.onError.subscribe(error => console.log('rec error', error));
audioObject.onSuccess.subscribe(() => console.log('rec done'));
audioObject.startRecord();
setTimeout(() => {
audioObject.stopRecord();
audioObject.release();
console.log('done recording');
}, 3000);
}
startPlayback() {
let src = this.file.externalDataDirectory + "audio.wav";
let audioObject = this.media.create(src);
audioObject.onStatusUpdate.subscribe(status => console.log(status));
audioObject.onError.subscribe(error => console.log('play error', error));
audioObject.onSuccess.subscribe(() => console.log('play done'));
console.log(audioObject);
audioObject.play();
}
async listDir() {
try {
let files = await this.file.listDir(this.file.externalDataDirectory, "")
console.log(files)
} catch(err) {
console.log("Error listing files", err)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment