react-native-audio-api
Version:
react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification
31 lines (30 loc) • 1.13 kB
JavaScript
;
import AudioAPIModule from "../AudioAPIModule/index.js";
import { NotSupportedError } from "../errors/index.js";
import AudioManager from "../system/index.js";
import BaseAudioContext from "./BaseAudioContext.js";
import MediaElementAudioSourceNode from "./MediaElementAudioSourceNode.js";
export default class AudioContext extends BaseAudioContext {
constructor(options) {
if (options && options.sampleRate && (options.sampleRate < 8000 || options.sampleRate > 96000)) {
throw new NotSupportedError(`The provided sampleRate is not supported: ${options.sampleRate}`);
}
const audioRuntime = AudioAPIModule.createAudioRuntime();
super(globalThis.createAudioContext(options?.sampleRate || AudioManager.getDevicePreferredSampleRate(), audioRuntime));
}
async close() {
return this.context.close();
}
async resume() {
await this.context.resume();
}
async suspend() {
await this.context.suspend();
}
createMediaElementSource(mediaElement) {
return new MediaElementAudioSourceNode(this, {
mediaElement
});
}
}
//# sourceMappingURL=AudioContext.js.map