__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Tiny Record RTC - audio recorder configuration.
*
* @module tiny_recordrtc/audio_recorder
* @copyright 2022 Stevani Andolo <stevani@hotmail.com.au>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
import BaseClass from './base_recorder';
import Modal from './modal';
import {component} from 'tiny_recordrtc/common';
export default class Audio extends BaseClass {
// A mapping of MIME types to their corresponding file extensions.
fileExtensions = {
'audio/ogg': 'ogg',
'audio/mp4': 'mp4',
'audio/webm': 'webm',
};
configurePlayer() {
return this.modalRoot.querySelector('audio');
}
getSupportedTypes() {
return [
// Firefox supports webm and ogg but Chrome only supports ogg.
// So we use ogg to maximize the compatibility.
'audio/ogg;codecs=opus',
// Safari supports mp4.
'audio/mp4;codecs=opus',
'audio/mp4;codecs=wav',
'audio/mp4;codecs=mp3',
// Set webm as a fallback.
'audio/webm;codecs=opus',
];
}
getRecordingOptions() {
return {
audioBitsPerSecond: parseInt(this.config.audiobitrate),
};
}
getMediaConstraints() {
return {
audio: true,
};
}
getRecordingType() {
return 'audio';
}
getTimeLimit() {
return this.config.audiotimelimit;
}
getEmbedTemplateName() {
return 'tiny_recordrtc/embed_audio';
}
getFileName(prefix) {
return `${prefix}-audio.${this.getFileExtension()}`;
}
getFileExtension() {
const options = super.getParsedRecordingOptions(); // Call parent method.
if (options?.mimeType) {
const mimeType = options.mimeType.split(';')[0];
return this.fileExtensions[mimeType];
}
window.console.warn(`Unknown file type for MediaRecorder API`);
return '';
}
static getModalClass() {
return class extends Modal {
static TYPE = `${component}/audio_recorder`;
static TEMPLATE = `${component}/audio_recorder`;
};
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| audio_recorder.js | File | 2.84 KB | 0777 |
|
| base_recorder.js | File | 30.95 KB | 0777 |
|
| commands_audio.js | File | 2.02 KB | 0777 |
|
| commands_screen.js | File | 2.25 KB | 0777 |
|
| commands_video.js | File | 2.04 KB | 0777 |
|
| commands_video_context_menu.js | File | 3.23 KB | 0777 |
|
| common.js | File | 1.17 KB | 0777 |
|
| configuration.js | File | 2.71 KB | 0777 |
|
| modal.js | File | 1.36 KB | 0777 |
|
| options.js | File | 2.73 KB | 0777 |
|
| plugin.js | File | 2.62 KB | 0777 |
|
| screen_recorder.js | File | 6.75 KB | 0777 |
|
| video_recorder.js | File | 3.41 KB | 0777 |
|