3.0.2 • Published 4 years ago

ember-cli-opus-recorder v3.0.2

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

Ember Observer Score Build Status Coverage Status NPM Version NPM Downloads Dependency Status DevDependency Status Greenkeeper

ember-cli-opus-recorder

Simple Wrapper around Opus Recorder.

This provides a service that can be used to record, play, and export audio as a wav file, blob, or bas64 string.

DEMO

Installation

ember install ember-cli-opus-recorder

Usage

  • After running recorder.start()<Promise> you can then run recorder.getAudio() to get the wav file created

Options

  • recordingTime: (Default: 5000) - Set how long recording should be before automatically stopping - Note: If set to a falsey value you will need to call recorder.stop() manually - recorder.set('recordingTime', <time in milliseconds>)
import Route from '@ember/routing/route';

import { inject } from '@ember/service';

export default Route.extend({

	recorder: inject(),

	init() {
		this._super(...arguments);
		let recorder = this.get('recorder');
		recorder.set('recordingTime', 5000);
	},

	setupController(controller) {
		this._super(...arguments);
		let recorder = this.get('recorder');
		controller.set('recorder', recorder);
	},

	actions: {
		async record() {
			let recorder = this.get('recorder');
			await recorder.start();

			let { base64, audioURL, blob } = await recorder.getAudio();
			console.log(base64, audioURL, blob);
		},
		async play() {
			let recorder = this.get('recorder');
			recorder.play();
		},
		async stop() {
			let recorder = this.get('recorder');
			recorder.stop();
		}
	}
});
<div>
	Recording
	{{#if recorder.isRecording}}
		Started!!
	{{else}}
		Stopped
	{{/if}}
</div>
<br />

<button {{action 'record'}}>Record</button>
<button {{action 'play'}}>Play</button>
<button {{action 'stop'}}>Stop</button>

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.