code: def initialize_reader(self):
      try_to_import_decord()
      import decord
  
      if self._read_audio:
          assert (
              self._sampling_type != IFRAMES
          ), "Cannot use IFRAMES with audio streams"
          sample_rate = 16000
          if (
              self._sampling_type == AUDIORATE
              and self._sampling_rate != 1
          ):
              sample_rate = self._sampling_rate
          try:
              self._reader = decord.AVReader(
                  self.file_url, mono=True, sample_rate=sample_rate
              )
              self._get_frame = self.__get_audio_frame
          except decord._ffi.base.DECORDError as error_msg:
              assert "Can't find audio stream" not in str(
                  error_msg
              ), error_msg
      else:
          assert (
              self._sampling_type != AUDIORATE
          ), "Cannot use AUDIORATE with video streams"
          self._reader = decord.VideoReader(self.file_url)
          self._get_frame = self.__get_video_frame
  
file_path: evadb/evadb/readers/decord_reader.py
imports: from typing import Dict, Iterator
  import numpy
  from evadb.catalog.catalog_type import VideoColumnName
  from evadb.catalog.sql_config import ROW_NUM_COLUMN
  from evadb.constants import AUDIORATE, IFRAMES
  from evadb.expression.abstract_expression import AbstractExpression
  from evadb.expression.expression_utils import extract_range_list_from_predicate
  from evadb.readers.abstract_reader import AbstractReader
  from evadb.utils.generic_utils import try_to_import_decord
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 3 for calling the DecordReader obj's underlying member method code with example usage: obj.initialize_reader() without return types