Issue #16685: Added support for writing any bytes-like objects in the aifc,
sunau, and wave modules.
diff --git a/Lib/aifc.py b/Lib/aifc.py
index 18f236d..c1c8ea7 100644
--- a/Lib/aifc.py
+++ b/Lib/aifc.py
@@ -692,6 +692,8 @@
         return self._nframeswritten
 
     def writeframesraw(self, data):
+        if not isinstance(data, (bytes, bytearray)):
+            data = memoryview(data).cast('B')
         self._ensure_header_written(len(data))
         nframes = len(data) // (self._sampwidth * self._nchannels)
         if self._convert: