docstr: Test st.audio using invalid numpy array.
docstr_tok: ["Test","st.audio","using","invalid","numpy","array","."]
code: def test_st_audio_invalid_numpy_array(
      self, np_arr, expected_shape, exception_text
  ):
      """Test st.audio using invalid numpy array."""
  
      sample_rate = 44100
      self.assertEqual(len(np_arr.shape), expected_shape)
  
      with self.assertRaises(StreamlitAPIException) as e:
          st.audio(np_arr, sample_rate=sample_rate)
  
      self.assertEqual(str(e.exception), exception_text)
  
imports: import io
  import os
  from io import BytesIO
  import numpy
  from parameterized import parameterized
  from scipy.io import wavfile
  import streamlit
  from streamlit.elements.media import _maybe_convert_to_wav_bytes
  from streamlit.errors import StreamlitAPIException
  from streamlit.proto.Alert_pb2 import Alert
  from streamlit.runtime.media_file_storage import MediaFileStorageError
  from streamlit.runtime.memory_media_file_storage import _calculate_file_id
  from streamlit.web.server.server import MEDIA_ENDPOINT
  from tests.delta_generator_test_case import DeltaGeneratorTestCase
label_desc: Use image node_id 3 for calling the AudioTest obj's underlying member method code with example usage: obj.test_st_audio_invalid_numpy_array(np_arr, expected_shape, exception_text) without return types