Here is the error I get Unrecognized switch(es) found in command line string: 

C:/Program Files (x86)/K-Lite Codec Pack/MPC-HC64/mpc-hc64.exe C:/Users/picky/Downloads/d1b9d78c.mp4 /AudioFile E:/media/Songs/Favorite Tracks 2/02 - Calvin Harris, Sam Smith - Desire.flac

Usage: mpc-hc.exe "pathname" [switches]

"pathname"	The main file or directory to be loaded
		(wildcards allowed, "-" denotes standard input)
/dub "dubname"	Load an additional audio file
/dubdelay "file"	Load an additional audio file shifted with XXms
		(if the file contains "...DELAY XXms...")
/d3dfs		Start rendering in D3D fullscreen mode
/sub "subname"	Load an additional subtitle file
/filter "filtername"	Load DirectShow filters from a dynamic link library (wildcards allowed)
/dvd		Run in DVD mode, "pathname" means the DVD folder (optional)
/dvdpos T#C	Start playback at title T, chapter C
/dvdpos T#P	Start playback at title T, position P (hh:mm:ss)
/cd		Load all the tracks of an Audio CD or (S)VCD,
		"pathname" means the drive path (optional)
/device		Open the default video device
/open		Open the file, don't automatically start playback
/play		Start playing the file as soon the player is launched
/close		Close the player after playback (only works when used with /play)
/shutdown	Shutdown the operating system after playback
/standby		Put the operating system in standby mode after playback
/hibernate		Hibernate operating system after playback
/logoff		Log off after playback
/lock		Lock workstation after playback
/monitoroff	Turn off the monitor after playback
/playnext		Open next file in the folder after playback
/fullscreen	Start in fullscreen mode
/viewpreset N	Start with specific preset,
		where N is either "1" Minimal, "2" Compact or "3" Normal
/minimized	Start in minimized mode
/new		Use a new instance of the player
/add		Add "pathname" to playlist, can be combined with /open and /play
/randomize	Randomize the playlist
/volume N	Set Volume, where N is a range from 0 to 100
/regvid		Create file associations for video files
/regaud		Create file associations for audio files
/regpl		Create file associations for playlist files
/regall		Create file associations for all supported file types
/unregall		Remove all file associations
/start ms		Start playing at "ms" (= milliseconds)
/startpos hh:mm:ss	Start playing at position hh:mm:ss
/ab_start hh:mm:ss	A-B repeat start position
/ab_end hh:mm:ss	A-B repeat end position
/fixedsize w,h[,x,y]	Set a fixed window size; optionally specificy upper-left window position
/monitor N	Start player on monitor N, where N starts from 1
/audiorenderer N	Start using audiorenderer N, where N starts from 1 (see "Output" settings)
/shaderpreset "Pr"	Start using "Pr" shader preset
/pns "name or values"	Specify Video Frame preset name to use or direct position and zoom values in format "px,py,zx,zy"
/iconsassoc	Reassociate format icons
/nofocus		Open MPC-HC in background
/webport N	Start web interface on specified port
/debug		Show debug information in OSD
/nocrashreporter	Disable the crash reporter
/slave "hWnd"	Use MPC-HC as slave
/hwgpu "index"	Set the index of the GPU used for hardware decoding.
		Only available for CUVID and DXVA2 (copy-back)
/reset		Restore default settings
/mute		Mute the audio
/thumbnails	Create thumbnails
/help /h /?	Show help about command line switches     and I wan to use it with mpc-hc64.exe and also want flaxe dsd and ogg and opus amd everything to work and here is the code import tkinter as tk
from tkinter import filedialog, messagebox
import subprocess
import os
import sys

class MediaPlayerGUI:
    def __init__(self, master):
        self.master = master
        master.title("Media Player with External Audio")
        master.resizable(False, False)

        # Initialize file paths
        self.mpc_hc_path = ""
        self.video_path = ""
        self.audio_path = ""

        # GUI Layout
        self.create_widgets()

    def create_widgets(self):
        padding_options = {'padx': 10, 'pady': 5}

        # MPC-HC Executable Selection
        self.mpc_label = tk.Label(self.master, text="MPC-HC Executable:")
        self.mpc_label.grid(row=0, column=0, sticky='e', **padding_options)

        self.mpc_entry = tk.Entry(self.master, width=50)
        self.mpc_entry.grid(row=0, column=1, **padding_options)

        self.mpc_button = tk.Button(self.master, text="Browse", command=self.browse_mpc_hc)
        self.mpc_button.grid(row=0, column=2, **padding_options)

        # Video Selection
        self.video_label = tk.Label(self.master, text="Select Video:")
        self.video_label.grid(row=1, column=0, sticky='e', **padding_options)

        self.video_entry = tk.Entry(self.master, width=50)
        self.video_entry.grid(row=1, column=1, **padding_options)

        self.video_button = tk.Button(self.master, text="Browse", command=self.browse_video)
        self.video_button.grid(row=1, column=2, **padding_options)

        # Audio Selection (Allows both audio and video files)
        self.audio_label = tk.Label(self.master, text="Select Audio or Video (Optional):")
        self.audio_label.grid(row=2, column=0, sticky='e', **padding_options)

        self.audio_entry = tk.Entry(self.master, width=50)
        self.audio_entry.grid(row=2, column=1, **padding_options)

        self.audio_button = tk.Button(self.master, text="Browse", command=self.browse_audio)
        self.audio_button.grid(row=2, column=2, **padding_options)

        # Play Button
        self.play_button = tk.Button(self.master, text="Play", command=self.play_media, bg="green", fg="white", width=20)
        self.play_button.grid(row=3, column=1, pady=20)

    def browse_mpc_hc(self):
        """
        Opens a file dialog to select the MPC-HC executable.
        """
        path = filedialog.askopenfilename(title="Select MPC-HC Executable",
                                          filetypes=[("MPC-HC Executable", "mpc-hc.exe"), ("All Files", "*.*")])
        if path:
            if os.path.isfile(path) and path.lower().endswith("mpc-hc.exe"):
                self.mpc_hc_path = path
                self.mpc_entry.delete(0, tk.END)
                self.mpc_entry.insert(0, path)
            else:
                messagebox.showerror("Invalid Selection", "The selected file is not mpc-hc.exe. Please try again.")

    def browse_video(self):
        """
        Opens a file dialog to select a video file.
        """
        # Define a broad range of video file extensions
        video_extensions = [
            "*.mp4", "*.mkv", "*.avi", "*.mov", "*.wmv", "*.flv",
            "*.mpeg", "*.mpg", "*.mts", "*.m2ts", "*.ts", "*.webm",
            "*.3gp", "*.vob"
        ]
        filetypes = [("Video Files", " ".join(video_extensions)), ("All Files", "*.*")]
        path = filedialog.askopenfilename(title="Select Video File", filetypes=filetypes)
        if path:
            self.video_path = path
            self.video_entry.delete(0, tk.END)
            self.video_entry.insert(0, path)

    def browse_audio(self):
        """
        Opens a file dialog to select an audio or video file for external audio.
        """
        # Define a combination of audio and video file extensions for flexibility
        audio_video_extensions = [
            "*.mp3", "*.aac", "*.flac", "*.wav", "*.m4a", "*.ogg",  # Audio formats
            "*.mp4", "*.mkv", "*.avi", "*.mov", "*.wmv", "*.flv",
            "*.mpeg", "*.mpg", "*.mts", "*.m2ts", "*.ts", "*.webm",
            "*.3gp", "*.vob"  # Video formats that can contain audio
        ]
        filetypes = [("Audio or Video Files", " ".join(audio_video_extensions)), ("All Files", "*.*")]
        path = filedialog.askopenfilename(title="Select Audio or Video File", filetypes=filetypes)
        if path:
            self.audio_path = path
            self.audio_entry.delete(0, tk.END)
            self.audio_entry.insert(0, path)

    def validate_paths(self):
        """
        Validates the existence of the MPC-HC executable and media files.
        """
        if not self.mpc_hc_path:
            messagebox.showerror("Error", "Please select the MPC-HC executable.")
            return False
        if not os.path.isfile(self.mpc_hc_path):
            messagebox.showerror("Error", f"MPC-HC executable not found:\n{self.mpc_hc_path}")
            return False
        if not self.video_path:
            messagebox.showerror("Error", "Please select a video file to play.")
            return False
        if not os.path.isfile(self.video_path):
            messagebox.showerror("Error", f"Video file not found:\n{self.video_path}")
            return False
        if self.audio_path and not os.path.isfile(self.audio_path):
            messagebox.showerror("Error", f"Audio or Video file not found:\n{self.audio_path}")
            return False
        return True

    def play_media(self):
        """
        Constructs and executes the command to play the media using MPC-HC.
        """
        if not self.validate_paths():
            return

        try:
            # Construct command
            cmd = [f'"{self.mpc_hc_path}"', f'"{self.video_path}"']
            
            if self.audio_path:
                # Use the /AudioFile option to load external audio
                cmd.extend(['/AudioFile', f'"{self.audio_path}"'])

            # Join the command list into a single string
            cmd_str = ' '.join(cmd)

            # Debug: print the command
            print(f"Executing command: {cmd_str}")

            # Start the process
            subprocess.Popen(cmd_str, shell=True)

            # Optionally, reset the entries after playing
            # self.reset_entries()

        except Exception as e:
            messagebox.showerror("Error", f"An error occurred while trying to play media:\n{e}")

    def reset_entries(self):
        """
        Resets the entry fields after playback.
        """
        self.video_entry.delete(0, tk.END)
        self.audio_entry.delete(0, tk.END)
        # Optionally, clear the MPC-HC path if needed
        # self.mpc_entry.delete(0, tk.END)
        # self.mpc_hc_path = ""

def main():
    root = tk.Tk()
    app = MediaPlayerGUI(root)
    root.mainloop()

if __name__ == "__main__":
    main()