我有一个matlab代码,可以加载一个wav音频文件并播放它的一些特殊部分。它曾经在我的电脑上播放声音,但现在没有声音。算法正常工作并显示结果,但在静音中,即它不播放任何声音。我在笔记本电脑上检查它,它工作正常,播放声音。我不知道该怎么办?我唯一能做的就是问题就是:我的电脑上有两个版本的matlab:matlab 7.1和matlab r2013a(8.1) ,我删除了matlab 7.1,它真的导致了问题吗?
我重新安装了matlab 7.1,但它没有帮助
matlab根本无法播放声音,例如我尝试此代码但它不会播放声音:
[y,Fs] = audioread('1.wav');
sound(y,Fs);
我正在使用的代码是:silence removal
答案 0 :(得分:1)
由于daqhwinfo('winsound')的输出显示:
InstalledBoardIds:{'0''1'}
这意味着Matlab会看到多个声卡/可能的音频输出。我相信它默认为“0”中的任何一个。查看“BoardNames”和“ObjectConstructorName”的内容以确定发生了什么。您可以尝试(对于每个BoardID):
load handel;
% last input for audioplayer can be 1 or 0 to choose which audio output
player = audioplayer(y, Fs, 16, 1);
play(player);
另一种检查方式:
ao = analogoutput('winsound',0); %should be default device
ao2 = analogoutput('winsound',1);
out = daqhwinfo(ao)
out2 = daqhwinfo(ao2)
将这些值与您从笔记本电脑获得的值进行比较,声音可以在哪里发挥作用。
答案 1 :(得分:1)
我很长时间都在努力解决这个问题。我的笔记本电脑播放声音很好,但是
info = audiodevinfo
返回一个空结构。
事实证明这是一个文件路径问题。
我保存了自定义文件路径,然后恢复了默认文件路径:
restoredefaultpath
rehash toolboxcache
然后我慢慢地将子文件夹添加回我的文件路径中,它运行正常。