Main class for recording audio and screen.
from recordmymeeting.core import RecordMyMeetingCreate a new recording session.
Parameters:
output_dir(str): Output directory for recordings (default: "./recordings")mic_index(int, optional): Microphone device index (auto-detect if None)speaker_index(int, optional): Speaker device index (auto-detect if None)record_mic(bool): Record microphone audio (default: True)record_speaker(bool): Record speaker/system audio (default: True)record_screen(bool): Record screen (default: True)video_fps(int): Video frames per second (default: 10)audio_rate(int): Audio sample rate in Hz (default: 44100)channels(int): Number of audio channels (default: 1)session_name(str, optional): Name for session folder
Example:
rec = RecordMyMeeting(
record_mic=True,
record_speaker=False,
record_screen=False,
session_name="my_recording"
)Start recording (mic, speaker, screen as configured).
Returns: None
Example:
rec.start()Stop recording and save files.
Parameters:
save_output(bool): If False, discard recording data (default: True)
Returns: None
Example:
rec.stop()Get current recording status.
Returns: dict with keys:
recording(bool): Whether currently recordingsession_folder(str): Path to session folderrecord_mic(bool): Microphone recording enabledrecord_speaker(bool): Speaker recording enabledrecord_screen(bool): Screen recording enabledmic_file(str): Path to microphone audio filespeaker_file(str): Path to speaker audio filevideo_file(str): Path to video filemerged_file(str): Path to merged audio file
from recordmymeeting.device_manager import (
list_audio_devices,
auto_detect_devices,
classify_device,
print_all_devices
)List all available audio devices.
Returns: dict with keys:
microphones(list): List of microphone devicesspeakers(list): List of speaker devicesall_devices(list): All devices combined
Example:
devices = list_audio_devices()
for mic in devices['microphones']:
print(f"[{mic['index']}] {mic['name']}")Automatically detect working audio devices with smart prioritization.
Returns: dict with keys:
mic(dict): Best microphone device info (index, name, channels)speaker(dict): Best speaker device info (index, name, channels)
Example:
devices = auto_detect_devices()
if devices.get('mic'):
print(f"Using mic: {devices['mic']['name']}")Classify device type based on name patterns.
Parameters:
device_name(str): Name of the audio device
Returns: dict with boolean flags:
is_headphone,is_builtin,is_external,is_virtual,is_mic,is_speaker
Print all available devices in a formatted way with classifications.
Returns: None (prints to stdout)
Example:
print_all_devices()