import w**e
import threading
from os import remove, mkdir, listdir
from os.path import exists, splitext, basename, join
from datetime import datetime
from time import sleep
from shutil import rmtree
import pyaudio
from pil import imagegrab
from moviepy.editor import *
chunk_size = 1024
channels = 2
format = pyaudio.paint16
rate = 48000
allowrecording = true
def findinternalrecordingdevice(self,p):
#要找查的裝置名稱中的關鍵字
target = '立體聲混音'
#逐一查詢聲音裝置
for i in range(p.get_device_count()):
devinfo = p.get_device_info_by_index(i)
if devinfo['name'].find(target)>=0 and devinfo['hostapi'] == 0 :
#print('已找到內錄裝置,序號是 ',i)
return i
print('無法找到內錄裝置!')
return -1
def record_audio():
p = pyaudio.pyaudio()
# 建立輸入流
dev_idx = findinternalrecordingdevice(p)
if dev_idx < 0 :
return
stream = p.open(input_device_index=dev_idx,format=format, channels=channels,
rate=rate, input=true,
frames_per_buffer=chunk_size)
wf = w**e.open(audio_filename, 'wb')
wf.setnchannels(channels)
wf.setsampwidth(p.get_sample_size(format))
wf.setframerate(rate)
while allowrecording:
# 從錄音裝置讀取資料,直接寫入w**檔案
# 建立兩個執行緒,分別錄音和錄屏
t1 = threading.timer(3, record_audio)
t2 = threading.timer(3, record_screen)
t1.start()
t2.start()
print('3秒後開始錄製,按q鍵結束錄製')
# 按檔名編號公升序排序
pic_files.sort(key=lambda fn: int(splitext(basename(fn))[0]))
# 計算每個的顯示時長
each_duration = round(audio.duration / len(pic_files), 4)
# 連線多個
image_clips =
for pic in pic_files:
duration=each_duration))
video = concatenate_videoclips(image_clips)
video = video.set_audio(audio)
video.write_videofile(video_filename, codec='mpeg4', fps=25)
# 刪除臨時音訊檔案和截圖
remove(audio_filename)
rmtree(pic_dir)
C 錄製音效卡聲音喇叭聲音音箱聲音
第一步 在引用了sharpcapture.dll之後,呼叫sharpcapture方法之前,一定要先通過下面 來設定授權資訊,如果是試用版,直接輸入test即可。keymgr.setkey test 從之前的一篇博文中,我們介紹了一張圖看懂sharpcapture,從那篇文章我們可以看出,sharp...
有什麼錄屏軟體好用?可以錄製內部聲音的方法
有什麼錄屏軟體好用?我們在上網的時候一般都會做些什麼?無非是ckbsrgdoj看影視劇 新聞 工作 學習 娛樂等。那使用電腦和手機的時候經常會看到一些精彩感興趣的內容,那除了快速地截圖,還可以使用一些錄屏的方法。那下面一起看看錄屏的好用方法吧 錄屏怎麼錄製內部聲音 1 手機錄屏 部分安卓手機無法設定...
win10桌面怎麼錄製 win10桌面錄製的方法
win10桌面怎麼錄製 win10桌面錄製的方法 按下鍵盤上的win鍵,或點選電腦桌面左下角的win標誌,在列表中選擇xbox將其開啟。開啟你想錄製的內容,遊戲 網頁等。然後按住鍵盤上的win g鍵調出錄製的功能按鈕。點選紅色的按鈕,開始錄製。再次點選即可停止錄製,然後開啟xbox,點選左側的 遊戲...