使用官方代码录制视频的时候出现AttributeError: 'PyAudio' object has no attribute 'initialize'报错

Viewed 31

问题描述


k230在使用官方的录制视频代码的时候出现AttributeError: 'PyAudio' object has no attribute 'initialize'抱错
image.png

硬件板卡


庐山派

软件版本


CanMV-K230_LCKFB_micropython_v1.2.2-0-g4b8cae1_nncase_v2.9.0.img

其他信息


代码为

立创·庐山派-K230-CanMV开发板资料与相关扩展板软硬件资料官网全部开源

开发板官网:www.lckfb.com

技术支持常驻论坛,任何技术问题欢迎随时交流学习

立创论坛:www.jlc-bbs.com/lckfb

关注bilibili账号:【立创开发板】,掌握我们的最新动态!

不靠卖板赚钱,以培养中国工程师为己任

Save MP4 file example

Note: You will need an SD card to run this example.

You can capture audio and video and save them as MP4.The current version only supports MP4 format, video supports 264/265, and audio supports g711a/g711u.

from media.mp4format import *
import os

width = 800
height = 480

file_name = "/data/test.mp4"

设置默认录制时间(单位:秒)

MAX_RECORD_TIME = 30

def mp4_muxer_test():
print("mp4_muxer_test start")

# 实例化mp4 container
mp4_muxer = Mp4Container()
mp4_cfg = Mp4CfgStr(mp4_muxer.MP4_CONFIG_TYPE_MUXER)
if mp4_cfg.type == mp4_muxer.MP4_CONFIG_TYPE_MUXER:
    mp4_cfg.SetMuxerCfg(file_name, mp4_muxer.MP4_CODEC_ID_H265, width, height, mp4_muxer.MP4_CODEC_ID_G711U)
# 创建mp4 muxer
mp4_muxer.Create(mp4_cfg)
# 启动mp4 muxer
mp4_muxer.Start()

start_time_ms = time.ticks_ms()  # 记录开始时间
elapsed_time = 0

frame_count = 0

try:
    while True:
        os.exitpoint()

        # 处理音视频数据,按MP4格式写入文件
        mp4_muxer.Process()

        frame_count += 1
        print("frame_count = ", frame_count)

        # 检查当前时间与开始时间的差值是否超过最大录制时间
        elapsed_time = time.ticks_ms() - start_time_ms
        if elapsed_time >= MAX_RECORD_TIME*1000:
            print("录制已超过最大时长,停止录制,请等待视频保存")
            break

except BaseException as e:
    print(e)
# 停止mp4 muxer
mp4_muxer.Stop()
# 销毁mp4 muxer
mp4_muxer.Destroy()
print("mp4_muxer_test stop,video saved!")

if name == "main":
os.exitpoint(os.EXITPOINT_ENABLE)
mp4_muxer_test()

1 Answers

PyAudio 的 initialize 方法已废弃,直接移除该函数调用;请确保使用的固件版本与代码版本完全兼容,避免功能不匹配导致运行异常。