import { DateIdUtil, DateTimeUtil } from '@canvuus-internal/mvp0-task-core'; // import { MediaAttachment } from '@canvuus-internal/mvp0-task-base'; import { PlayingStatus } from '../core/playing-status'; import { RecordingStatus } from '../core/recording-status'; import { VoiceRecordingPlayer } from '../core/voice-recording-player'; export class BaseRecordingPlayer implements VoiceRecordingPlayer { private _selected: (string | null) = null; // We only allow playing or recording, but not both, at any given time. private _isPlaying: boolean = false; private _isRecording: boolean = false; private _playingStatus: PlayingStatus = PlayingStatus.unknown; private _recordingStatus: RecordingStatus = RecordingStatus.unknown; constructor(public name: (string | null) = null) { // .... } reset() { // tbd. } dispose() { // tbd. } list(): string[] { throw new Error("Method not implemented."); } selected(): (string | null) { return this._selected; } select(id: string): (string | null) { // tbd: Validate id.... this._selected = id; return this._selected; } canPlay(): boolean { return false; } isPlaying(): boolean { return false; } startPlaying() { throw new Error("Method not implemented."); } pausePlaying() { throw new Error("Method not implemented."); } resumePlaying() { throw new Error("Method not implemented."); } stopPlaying() { throw new Error("Method not implemented."); } canRecord(): boolean { return false; } isRecording(): boolean { return false; } startRecording() { throw new Error("Method not implemented."); } pauseRecording() { throw new Error("Method not implemented."); } resumeRecording() { throw new Error("Method not implemented."); } stopRecording() { throw new Error("Method not implemented."); } toString(): string { return 'name:' + this.name; } }