
求助!!!Matlab中的audioplayer()和play()命令播放音频怎么不出声音啊?非常着急!!!
在commandwindow中输入一下命令是可以播放出Matlab自带的chirp声音。>>loadchirp>>p=audioplayer(y,44100);>>pla...
在command window中输入一下命令是可以播放出Matlab自带的chirp声音。
>>load chirp
>>p = audioplayer(y,44100);
>>play(p)
但是,在我自己写的.m文件里插入这行命令就怎么也播放不出来chirp的声音,只会有“噗”的一声,但是command window里也没有错误提示,所以我根本找不出来到底是哪里出了问题……请各位高手帮帮我吧!!!到底audioplayer()和play()命令在用的时候需要注意些什么?以下是我自己编写的.m文件,用了GUI,意图是通过按下Original Music这个按钮可以播放出chirp的声音。
function pushbutton_OriginalMusic_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton_OriginalMusic (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
load chirp
p = audioplayer(y,44100)
play(p) 展开
>>load chirp
>>p = audioplayer(y,44100);
>>play(p)
但是,在我自己写的.m文件里插入这行命令就怎么也播放不出来chirp的声音,只会有“噗”的一声,但是command window里也没有错误提示,所以我根本找不出来到底是哪里出了问题……请各位高手帮帮我吧!!!到底audioplayer()和play()命令在用的时候需要注意些什么?以下是我自己编写的.m文件,用了GUI,意图是通过按下Original Music这个按钮可以播放出chirp的声音。
function pushbutton_OriginalMusic_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton_OriginalMusic (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
load chirp
p = audioplayer(y,44100)
play(p) 展开
2个回答
展开全部
俺试了一下,可能是时间的问题,你的M文件执行的太快,声音还没来得及播放完就已经执行完了,也就是说声音没有足够的时间执行,你试一下在最后加上pause(3),也就是让程序暂停3秒,应该可以,或者你单步调试的时候声音也可以发出来。
俺测试环境是7.0
代码如下:
function playSound()
load chirp
p=audioplayer(y,44100)
play(p)
pause(3)
俺测试环境是7.0
代码如下:
function playSound()
load chirp
p=audioplayer(y,44100)
play(p)
pause(3)
追问
我试了一下挺好的~我还想再问一下,pause()是让程序暂停,那什么命令是让程序继续执行呢?比如说我想放一段较长的音频,在播放的过程中,我还想点击一个按钮使这段音频随时停止,是直接用stop()这个命令就可以吗?
追答
说实话我真没用过audioplayer这个函数,刚才看了一下帮助,说一下俺的思路吧,供你参考。
建两个函数,分别对应你的两个按钮,假设PlaySound和ControlPlayer,大概的内容如下:
global myPlayer//此处语法可能不对,找一下帮助,看看怎么声明全局变量
functiong PlaySound()
load soundName
myPlayer=audioplayer(y,44100)
playblocking(myPlayer)
这个函数两点注意:audioPlayer对象要全局,要使用playblocking,查一下帮助吧,就是保证文件全播放完了才退出,不会出现你第一次的情况。
function ControlPlayer()
Stop(myPlayer)
Pause(myPlayer)
resume(myPlayer)
上面的函数你看一下audioplayer的帮助就明白什么意思了。
这个我没测试,主要是没招到足够长的声音文件。
你试试吧。希望对你有帮助。
参考资料: urpwd
参考资料: urpwd

2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |