Gil*_*ert 19 python audio cross-platform
我尝试使用pyaudio播放.wav文件.它在Windows上运行良好,但在其他设备使用声音时在Ubuntu中不起作用.
错误是"IOError:[Errorno无效的输出设备(无默认输出设备)] -9996
我可以尝试使用另一个库吗?另一种方法?
Ton*_*uža 12
你可以使用wxPython
sound = wx.Sound('sound.wav')
sound.Play(wx.SOUND_SYNC)
Run Code Online (Sandbox Code Playgroud)
要么
sound.Play(wx.SOUND_ASYNC)
Run Code Online (Sandbox Code Playgroud)
以下是wxPython演示中的示例.
你看过pymedia吗?播放 WAV 文件看起来就像这样简单:
import time, wave, pymedia.audio.sound as sound
f= wave.open('YOUR FILE NAME', 'rb')
sampleRate= f.getframerate()
channels= f.getnchannels()
format= sound.AFMT_S16_LE
snd= sound.Output(sampleRate, channels, format)
s= f.readframes(300000)
snd.play(s)
while snd.isPlaying(): time.sleep(0.05)
Run Code Online (Sandbox Code Playgroud)
参考: http: //pymedia.org/tut/play_wav.html
当然,您可以查看Python wiki中的Audio(http://wiki.python.org/moin/Audio/)以了解其他库,例如https://docs.python.org/library/wave.html或者再次在 Python 的 wiki 中的 Game Libraries ( http://wiki.python.org/moin/PythonGameLibraries ) 下,它将指向具有声音模块的 OpenAL 或 Pygame 的绑定。
最后,虽然我不知道 pyaudio 的限制,但您的错误消息听起来更像是库无法找到默认输出设备,而不是该设备正在被另一个进程使用。也许看看get_default_output_device_info
pyaudio 返回的输出设备是什么,并将其与 Ubuntu 中的默认设置进行比较。
归档时间: |
|
查看次数: |
8743 次 |
最近记录: |