You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用GNU Octave实现双声道录制?遇属性设置错误求助

GNU Octave双声道音频录制解决方案

问题核心:audiorecorder对象的NumberOfChannels是只读属性,无法在对象创建后通过set()方法修改,必须在初始化阶段就明确指定声道数、采样率等参数。

正确初始化方式

直接在创建audiorecorder实例时,按顺序传入采样率、位深、声道数参数:

# 参数格式:audiorecorder(采样率, 采样位深, 声道数)
recorder = audiorecorder(48000, 8, 2);
  • 这里保留默认的8位采样位深,如果需要更高精度(比如16位),可以修改第二个参数:
    recorder = audiorecorder(48000, 16, 2);
    

验证双声道录制

录制完成后,可通过getaudiodata()获取数据,检查维度确认双声道:

record(recorder);
pause(5); % 录制5秒示例
stop(recorder);

audio_data = getaudiodata(recorder);
size(audio_data) % 输出应为 [总采样数, 2],表示两声道数据

可选:指定录音设备

如果系统有多个音频输入设备,可先查询设备列表,再指定对应DeviceID初始化:

# 查询所有可用音频输入设备
devices = audiodevinfo();

# 假设目标双声道设备的DeviceID为1(索引从0开始)
recorder = audiorecorder(48000, 16, 2, 1);

内容的提问来源于stack exchange,提问作者szoftveres

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 07:03:13