class_docstr: Audio data file wrapper that ensures that the file is loaded with the correct sample rate, channels,
  and width, and converts the file on the fly otherwise.
class_docstr_tok: ["Audio","data","file","wrapper","that","ensures","that","the","file","is","loaded","with","the","correct","sample","rate",",","channels",",","and","width",",","and","converts","the","file","on","the","fly","otherwise","."]
code: def __exit__(self, *args):
      if not self.as_path:
          self.open_wav.close()
          if self.open_file:
              self.open_file.close()
      if self.tmp_file_path is not None:
          os.remove(self.tmp_file_path)
      if self.tmp_src_file_path is not None:
          os.remove(self.tmp_src_file_path)
  
imports: import collections
  import ctypes
  import io
  import math
  import numpy
  import os
  import pyogg
  import tempfile
  import wave
  from .helpers import LimitingPool
  from collections import namedtuple
  from .io import open_remote, remove_remote, copy_remote, is_remote_path
label_desc: Use image node_id 3 for calling the AudioFile obj's underlying member method code with example usage: obj.__exit__() without return types