Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Mac上不使用Python录制或播放音频:无错误&;没有声音_Python_Macos_Audio_Pyaudio_Python Sounddevice - Fatal编程技术网

在Mac上不使用Python录制或播放音频:无错误&;没有声音

在Mac上不使用Python录制或播放音频:无错误&;没有声音,python,macos,audio,pyaudio,python-sounddevice,Python,Macos,Audio,Pyaudio,Python Sounddevice,我尝试在Mac(Catalina)上的Python3.7上使用内置麦克风和扬声器的音频。 我的问题是,我试过的任何代码,在录制时都没有收到任何声音,在播放声音时也没有出现任何声音。 我尝试了以下答案:首先,我尝试使用PyAudio,如下所示: import pyaudio import wave CHUNK = 1024 FORMAT = pyaudio.paInt16 CHANNELS = 2 RATE = 44100 RECORD_SECONDS = 5 WAVE_OUTPUT_FILEN

我尝试在Mac(Catalina)上的Python3.7上使用内置麦克风和扬声器的音频。 我的问题是,我试过的任何代码,在录制时都没有收到任何声音,在播放声音时也没有出现任何声音。 我尝试了以下答案:首先,我尝试使用PyAudio,如下所示:

import pyaudio
import wave

CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.wav"

p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                frames_per_buffer=CHUNK)

print("* recording")
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
    frames.append(data)
print("* done recording")

stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
返回一个静默文件

然后我试着使用SoundDevice:

import sounddevice as sd
import matplotlib.pyplot as plt

fs = 44100                      # frames per sec
sd.default.samplerate = fs
sd.default.channels = 2

duration = 3.0                  # Aufnahmezeit
recording = sd.rec( int( duration * fs) )
print("* recording")
sd.wait()
print("* done!")

t = [ i for i in range( int( duration * fs) )]

plt.plot(t, recording, 'r-')
plt.show()
Wich返回一个填充了零的数组:。 两者都没有引起任何错误或警告

之后,我试着播放一个440赫兹的简单正弦波,扬声器保持沉默

同样的代码,可以在我的朋友mac上正常工作。麦克风和扬声器也工作正常。在系统偏好中,我允许每个应用程序使用麦克风

这似乎有一个类似的问题。也尝试过,但没有结果:(


我不知道还有什么办法可以解决这个问题。

故障原因和两个解决方案可以在


要重置婴儿车,请按照

中的说明操作。能否提供设备列表?默认设备可能不是您期望的设备?