react-native-audio-api
Version:
react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification
30 lines (25 loc) • 897 B
text/typescript
import { AudioEventName, AudioEventCallback } from './types';
import AudioEventSubscription from './AudioEventSubscription';
import { IAudioEventEmitter } from '../interfaces';
export default class AudioEventEmitter {
private readonly audioEventEmitter: IAudioEventEmitter;
constructor(audioEventEmitter: IAudioEventEmitter) {
this.audioEventEmitter = audioEventEmitter;
}
addAudioEventListener<Name extends AudioEventName>(
name: Name,
callback: AudioEventCallback<Name>
): AudioEventSubscription {
const subscriptionId = this.audioEventEmitter.addAudioEventListener(
name,
callback
);
return new AudioEventSubscription(subscriptionId, name, this);
}
removeAudioEventListener<Name extends AudioEventName>(
name: Name,
subscriptionId: string
): void {
this.audioEventEmitter.removeAudioEventListener(name, subscriptionId);
}
}