注册 登录
编程论坛 Python论坛

敬请各位高手用python程序实现录屏和录音。谢谢

HVB6 发布于 2024-12-24 19:24, 5130 次点击
此python程序是放在电脑上,程序运行后则实时录下电脑屏幕上的画面和声音,并形成一个文件放在电脑里。
只有本站会员才能查看附件,请 登录

python代码来自:https://yr7ywq.smartapps.baidu.com/?_chatQuery=python%E5%BD%95%E5%B1%8F%E5%BD%95%E9%9F%B3&searchid=14305264022513452839&_chatParams=%7B%22agent_id%22%3A%22c816%22%2C%22content_build_id%22%3A%223d4223e%22%2C%22from%22%3A%22q2c%22%2C%22token%22%3A%22UGlGZHdpN0lzYXNVbS9Gb1JoeVNNWXRmOGI3Q0R2VFNVZlJSWlMzOW9STDk3ZXBnMkFyYnVZdE1JWFdkbkV3RXZ5ZmZ1T1daaWdRSHFROTI1QTUzVzhpTkNIdmNRbkFyMDVkWjNCeldqaFV3dG5ocDc1bEpiZndtQlFKYi9VNG4%3D%22%2C%22chat_no_login%22%3Atrue%7D&tplname=ai_agent_distribute&srcid=1599&lid=c68681d600170727&order=3&_swebScene=3711000610001000

俺在网上搞的代码,弄成py文件运行后,IDLE显示的错误信息:
Python 3.8.8 (tags/v3.8.8:024d805, Feb 19 2021, 13:18:16) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
======= RESTART: C:\Users\Administrator\Desktop\截屏\新建文件夹 (2)\mm录屏和录音1.py =======
Exception in thread Thread-2:
Traceback (most recent call last):
  File "E:\20190501\Python\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "E:\20190501\Python\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\Administrator\Desktop\截屏\新建文件夹 (2)\mm录屏和录音1.py", line 38, in record_audio
    sd.write(output_filename, fs, channels, myrecording)
AttributeError: module 'sounddevice' has no attribute 'write'



[此贴子已经被作者于2024-12-24 19:26编辑过]

8 回复
#2
HVB62024-12-24 19:58
回复 楼主 HVB6
俺的电脑为WIN7旗舰版64位
#3
HVB62024-12-25 09:10
回复 2楼 HVB6
对不起,一楼的py文件中的代码是手机版的,怪俺太粗心了!但是,还是希望各位高手解决此问题。谢谢。
#4
yiyanxiyin2024-12-25 10:14
程序代码:
import sounddevice as sd
import numpy as np
import as wav

# 设置录音参数
samplerate = 44100  # 采样率,单位:Hz
channels = 2        # 通道数,1表示单声道,2表示立体声
dtype = 'float32'   # 数据类型,'float32'或'int16'等
duration = 5.0      # 录音时长,单位:秒(可选)

# 计算需要录制的样本数
numframes = int(samplerate * duration)

# 开始录音
print("开始录音...")
recording = sd.rec(numframes, samplerate=samplerate, channels=channels, dtype=dtype)

# 等待用户输入来停止录音(这里使用input函数作为示例)
print("按Enter键停止录音...")
input()

# 停止录音并获取音频数据(对于无限时长录音,这一步不是必需的,因为已经使用了input()等待用户输入)
sd.wait()  # 确保录音结束

# 将数据类型转换为int16(如果需要保存为WAV文件)
recording = recording.astype('int16')

# 保存音频数据为WAV文件
wav.write('output.wav', samplerate, recording)
print("录音已保存为output.wav")
请参考
#5
HVB62024-12-25 10:28
回复 4楼 yiyanxiyin
IDLE出错误提示:
Python 3.8.8 (tags/v3.8.8:024d805, Feb 19 2021, 13:18:16) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
========= RESTART: C:\Users\Administrator\Desktop\截屏\新建文件夹\mm同时录屏和录音.py ========
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\截屏\新建文件夹\mm同时录屏和录音.py", line 3, in <module>
    import as wav
ModuleNotFoundError: No module named 'scipy'
>>>
#6
时光流逝2024-12-25 11:48
回复 5楼 HVB6
用pip装一个scipy库就行了
#7
HVB62024-12-25 16:41
回复 6楼 时光流逝
cmd命令行出错误信息:
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>pip scipy
ERROR: unknown command "scipy"

C:\Users\Administrator>
#8
深秋20152024-12-25 16:49
回复 7楼 HVB6
pip install scipy
#9
HVB62024-12-25 19:26
回复 4楼 yiyanxiyin
此python程序是放在电脑上,程序运行后则实时录下电脑屏幕上的画面和声音,并形成一个文件放在电脑里。
即视频和音频同时录入,形成一个文件。
您的代码只录入音频。谢谢。
1