code: def available_backends(flush_cache=False):
      """Returns a list of backends that are available on this system.
  
      The list of backends is cached after the first call.
      If the parameter `flush_cache` is set to `True`, then the cache
      will be flushed and the backend list will be reconstructed.
      """
  
      if BACKENDS and not flush_cache:
          return BACKENDS
  
      # Standard-library WAV and AIFF readers.
      from . import rawread
  
      result = [rawread.RawAudioFile]
  
      # Core Audio.
      if _ca_available():
          from . import macca
  
          result.append(macca.ExtAudioFile)
  
      # GStreamer.
      if _gst_available():
          from . import gstdec
  
          result.append(gstdec.GstAudioFile)
  
      # MAD.
      if _mad_available():
          from . import maddec
  
          result.append(maddec.MadAudioFile)
  
      # FFmpeg.
      if ffdec.available():
          result.append(ffdec.FFmpegAudioFile)
  
      # Cache the backends we found
      BACKENDS[:] = result
  
      return BACKENDS
  
file_path: audioread/audioread/__init__.py
imports: from .None import ffdec
  from .exceptions import DecodeError, NoBackendError
  from .version import version
  from .base import AudioFile
label_desc: Use image node_id 4 for calling a global function with example usage: available_backends(flush_cache) and returns: BACKENDS, BACKENDS