MATLAB显示:由于未找到因为输出,无法播放音频

First:检查自己电脑麦克风权限是否开启。

Second:利用MATLAB里面自带函数查询自己电脑的音频输入和输出。

info = audiodevinfo

info = 

  struct with fields:

     input: [1×2 struct]
    output: [1×4 struct]

这样就可以知道是那个环节的问题了。

如果发现自己output为空,基本可以晓得自己装MATLAB的时候可能丢失了某些包,可以尝试在附加功能里面安装这个包(如果你发现点开附加管理功能,出现令人深思的情况,点开这里,可以尝试帮你解决问题MATLAB附加功能,显示:Are you up-to-date on Software Maintenance?_淦帖子俺是认真嘚的博客-CSDN博客

NI myDAQ Support from MATLAB

安装成功,MATLAB会提示你进行重启才会生效。

电脑重启以后,可以利用这个函数

audiodevreset

来刷新MATLAB里面的音频输入和输出。

再次运行MATLAB自带的音频代码。

load handel.mat

filename = 'handel.wav';
audiowrite(filename,y,Fs);

音乐响起,关闭电脑。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 MATLAB播放音频并实时显示其频谱,可以使用 `audioplayer` 和 `fft` 函数。下面是一个示例代码: ```matlab % 读取音频文件 filename = 'audio.wav'; % 替换为实际的音频文件名 [y, Fs] = audioread(filename); % 创建音频播放器对象 player = audioplayer(y, Fs); % 创建频谱图窗口 figure; h_ax = subplot(2, 1, 1); h_line = line(nan, nan, 'Parent', h_ax); xlabel('频率'); ylabel('幅度'); title('音频频谱'); axis tight; % 播放音频并实时更新频谱图 play(player); while isplaying(player) % 获取当前播放位置 currentPos = player.CurrentSample; % 提取当前播放位置前一段音频数据 windowSize = 1024; % 窗口大小,可以根据需要调整 if currentPos > windowSize audioWindow = y(currentPos-windowSize+1:currentPos); else audioWindow = y(1:currentPos); end % 计算频谱 spectrum = abs(fft(audioWindow)); spectrum = spectrum(1:windowSize/2); % 更新频谱图 set(h_line, 'XData', 1:length(spectrum), 'YData', spectrum); drawnow; end ``` 在上述代码中,首先使用 `audioread` 函数读取音频文件,并获取音频数据 `y` 和采样率 `Fs`。然后,使用 `audioplayer` 创建音频播放器对象 `player`,并使用 `audioplayer` 函数播放音频。 接下来,使用 `subplot` 和 `line` 创建一个频谱图窗口,并设置相关的坐标轴标签和标题。在 `while` 循环中,不断更新频谱图。 在每次循环中,首先获取当前播放位置 `currentPos`,然后提取当前播放位置前一段音频数据作为窗口数据 `audioWindow`。接下来,使用 `fft` 函数计算窗口数据的频谱,并仅保留正频率部分。最后,使用 `set` 函数更新频谱图的数据,并使用 `drawnow` 函数刷新图形。 请注意,上述代码中的 `audio.wav` 需要替换为实际的音频文件名。另外,您可以根据需要调整窗口大小和其他绘图参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值