20220416_win系统录音生成MP3练习

import sounddevice as sd
from scipy.io.wavfile import write
import time
import uuid #获取系统mac
import socket
#注意必须安装ffmpeg,并且添加 环境变量-在系统变量 Path,添加后 打开cmd,输入ffmpeg -version 正确才可以
from pydub import AudioSegment #wav转mp3
import os

def get_mac():
#mac
mac = uuid.UUID(int=uuid.getnode()).hex[-12:]
# 获取主机名
hostname = socket.gethostname()
# 获取IP
ip = socket.gethostbyname(hostname)
# 结果数据导出
pc_mac = {‘mac’:mac,‘hostname’:hostname,‘ip’:ip}
return pc_mac

def get_wav_write(file_name,seconds):
print(‘录音开始:’, file_name)
fs = 16000 # Sample rate
seconds = seconds # 时长秒数秒钟
myrecording = sd.rec(int(seconds * fs), samplerate=fs, channels=1)
sd.wait() # Wait until recording is finished
write(’./wav/’ + file_name + ‘.wav’, fs, myrecording) # Save as WAV file
wav_name = ‘./wav/’ + file_name + ‘.wav’
# 确认文件生成后进行转化并删除源文件
if (os.path.isfile(wav_name)):
# 同步转换成mp3
sourcefile = AudioSegment.from_wav(wav_name)
filename = wav_name.split(’/’)[-1].split(’.wav’)[0].replace(’ ‘, ‘_’) + ‘.mp3’
sourcefile.export(’./wav/’ + filename, format=“mp3”)
os.remove(wav_name)
return filename

#时间计算
def get_current_time(input_date =‘0’):
#如果时间传入为空
if input_date ==‘0’:
ct = time.time()-246060
local_time = time.localtime(ct)
data_head = time.strftime("%Y%m%d%H%M%S", local_time)
data_secs = abs(ct - round(ct)) * 1000
time_stamp = “%s%03d” % (data_head, data_secs)
else:
time_stamp = input_date +‘120000001’
return time_stamp

def getFileName(filepath):
file_list = []
for root,dirs,files in os.walk(filepath):
for filespath in files:
if ‘wav’ in filespath.split(’.’)[-1]:
file_list.append(os.path.join(root,filespath))
return file_list

if name == ‘main’:

#获取系统数据
mac_id = get_mac()
# 展现数据
print('计算机参数展示', mac_id)
#获取内容
mac = mac_id['mac']
hostname = mac_id['hostname']
ip = mac_id['ip']

# 程序执行前先确认./wav 是否存在,不存在新建
file_path_state = os.path.exists('./wav')
if file_path_state == False:
    os.mkdir('./wav')

# 循环执行
while True:
    #获取系统时间
    in_time = get_current_time()[0:14]
    #print('录音开始',in_time)
    wav_write = get_wav_write(mac +'_'+ in_time,300)
    # 因为这个进程会自动延后300秒,所以不需要时间延迟
    print(in_time[0:12],'生成文件:',wav_write)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 0009-64bit_win7_win8_win81_win10_r282.exe 是一个可执行文件,其中0009代表该文件的一种标识,64bit表示该文件适用于64位操作系统,而win7、win8、win8.1、win10则代表该文件适用于这几个不同版本的Windows操作系统。r282可能是对该文件进行的一次修订或更新。 根据文件名,可以推断该可执行文件可能是某个软件或驱动程序的安装文件。由于它适用于多个不同版本的Windows操作系统,可能是一个通用的安装程序,兼容于这些系统。64位操作系统需要安装的软件和驱动程序通常要求与操作系统的位数匹配,因此该文件使用64bit标识来告知用户它可以在64位操作系统上运行。 执行该可执行文件可能会启动一个安装向导或者直接安装软件/驱动程序,具体功能取决于该文件所代表的具体程序。通过安装该可执行文件,用户可以在其计算机上安装适用于Windows 7、8、8.1和10等操作系统的软件或驱动程序,以满足其特定需求。 需要注意的是,在下载并执行可执行文件之前,用户应该先确认文件的来源可信,并采取适当的安全措施,例如使用杀毒软件进行扫描。以确保文件不包含恶意软件或病毒,并保护计算机的安全和稳定运行。 ### 回答2: 0009-64bit_win7_win8_win81_win10_r282.exe 是一个可执行文件,可能是某种软件或驱动程序的安装文件。根据文件名中的信息推测,这个文件应该是用于64位操作系统(如Windows 7、Windows 8、Windows 8.1和Windows 10)的版本。 这个文件可能是某个软件或驱动程序的补丁或更新版本。它可能包含了一些修复或改进,以确保软件或驱动程序在最新的64位操作系统上能够正常运行。 如果您计划安装这个文件,建议首先确保您的系统满足软件或驱动程序的最低要求。然后,您可以双击该文件来开始安装过程。按照安装向导的指示进行操作,直到安装完成。 然而,由于信息有限且无法确定该文件的真实来源,为了确保计算机的安全,我们建议您仔细审核该文件的来源,并使用杀毒软件进行全面的扫描。同时建议在安装前备份计算机的重要数据,以防安装过程中出现意外情况。 总之,在处理任何可执行文件时,都要小心谨慎,并确保从可靠的来源获取,并始终保持计算机的安全。 ### 回答3: 0009-64bit_win7_win8_win81_win10_r282.exe 是一个可执行文件,可能是一个软件或程序的安装文件。根据文件名可以推测它是为 Windows 7、Windows 8、Windows 8.1 和 Windows 10 64位版本的操作系统设计的。 可以解析出该文件名中的一些信息: - "0009" 可能是对应某个软件或版本的标识码或序号; - "64bit" 表明该程序是针对 64 位的操作系统; - "win7_win8_win81_win10" 表示该程序兼容于 Windows 7、Windows 8、Windows 8.1 和 Windows 10 这些操作系统; - "r282" 可能是该软件或程序的版本号或修订号。 要确定该程序的具体功能或用途,需要进一步了解或查找有关该文件的更多信息。也可以尝试从该文件的发布者或软件开发商获取更多关于该程序的信息。另外,使用任何未经验证的可执行文件都存在安全风险,因此建议在下载和运行前进行杀毒扫描,并确保该文件来自可信的来源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值