当前位置: 首页 > 面试题库 >

在python中实时播放原始音频文件

阎德业
2023-03-14
问题内容

我有一个udp使用python的服务器,该服务器以原始格式(字节数组)连续接收来自客户端的语音数据包。如何在服务器端实时播放声音?有推荐的库或方法吗?

如果需要,这是我非常简单的服务器代码(我对此表示怀疑)

import socket

UDP_IP = "192.168.1.105"
UDP_PORT = 5005

sock = socket.socket(socket.AF_INET, # Internet
                     socket.SOCK_DGRAM) # UDP
sock.bind((UDP_IP, UDP_PORT))

while True:
    data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
    #what to do to stream the incoming voice packets?

问题答案:

PyAudio
https://people.csail.mit.edu/hubert/pyaudio/

import pyaudio

p = pyaudio.PyAudio()

stream = p.open(format=pyaudio.paFloat32,
                channels=1,
                rate=44100,
                output=True)

data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes

while data != '':
    stream.write(data)
    data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes

stream.stop_stream()
stream.close()

p.terminate()

有一种使用回调方法的方法可能会更好。



 类似资料:
  • 我尝试从res/raw文件夹播放音频文件,这是我用来播放文件的代码,这不会产生任何错误,并且我的设备音量最大,但没有任何声音。我尝试了MP3和WAV文件。 启动后我在 LogCat 上收到以下消息 帮助我解决这个问题,将不胜感激。

  • 问题内容: 我正在寻找一种轻松播放远程 .mp3 文件的解决方案。我看过适用于本地文件的“ pyglet”模块,但似乎无法处理远程文件。我可以临时下载 .mp3 文件,但是由于 .mp3 文件看起来太大,因此不建议这样做。 我宁愿它用于跨平台而不是仅用于Windows等。 例如,播放来自以下位置的音频文件: http://example.com/sound.mp3 只需在下载文件时流式传输文件,我

  • 我正在开发一个音频播放器,它可以在后台播放音频文件。我的问题是,当录像机或视频播放器启动时,我需要暂停音频播放器。 有什么方法可以处理这个任务吗?例如,我有来处理这些调用。当我接到呼叫或wnat呼叫时,我们可以使用呼叫状态暂停播放器。我想为录像机或视频播放器以及相同的场景。当视频/录制开始时,我需要暂停音频播放器。

  • 问一下Xamarin.Forms便携里面Xamarin.Forms的音频怎么播放 正如我所知,有依赖服务,我看到了一些示例,只有iOS和Android,但没有Windows Phone 8.1/Windows 8.1和UWP。

  • 本文向大家介绍java实现音频文件播放功能,包括了java实现音频文件播放功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java实现音频文件的播放功能的具体代码,供大家参考,具体内容如下 实现思路 1、首先获取音频文件的地址,然后通过IO流读取音频文件,加缓冲区,实现Player类的对象。 2、Player类主要用于播放器的初始化,以及通过它来实现一些音视频文件的播放,这个类需

  • 我有一个网页,提供通过手机动态下载mp3文件。我想添加一个功能,在下载文件之前,有人可以通过他们的台式机来收听这首歌。 我需要做什么?

  • 我尝试建立一个按钮,一旦点击它播放一个音频文件,如果再次点击它停止它。在按钮中,有一个属性src,其中放置了应该播放的文件的路径。 null null 当我尝试单击该按钮时,日志显示“”。但音频已设置,警报显示文件路径在那里。 我做错了什么?

  • [第一个应用程序]我正在创建一种报警应用程序,允许用户从SD卡或应用程序提供的声音选择报警声音。因为,该应用程序本质上播放警报,我希望音量是设备的“警报音量”。我能够为sd卡的声音实现这一点。但是,我无法获取原始资源声音。 我使用以下代码: 我还尝试为上述方法查找代码示例,但没有一个示例说明如何将设置为。我将接受答案与替代的方式,简单地播放与无限循环的声音。如何做到这一点?