注:仅记录学习,如有侵权,联系删除。
不同的函数,有不同的取值范围,也有不同的计算公式,但同时也使用一些相同的变量名,所以涉及很多函数之间的相互调用以及属性的设置。
举一个简单的例子,大家意会一下。
接下来看一下基本测试函数的关键函数设置
接下来看一下回调函数
startupFcn
效果图,摸人鱼日历这个不太稳定。可以换一个自己喜欢的图
在一起,鸡毛蒜皮也是故事
选这个图,绝对不是因为这个女孩子好看(随机获取歌曲的,不管你信不信,我是信了。)
例子,详细介绍请参考博主唤醒手腕的博客。
%% 每日情话api接口
clc
clear
data = webread("https://api.vvhan.com/api/love?type=json");
disp(data.ishan)
%% 天气情况
Local_weather = webread("https://api.vvhan.com/api/weather");
Destination_weather = webread("https://api.vvhan.com/api/weather?city=运城");
%% 音乐播放器
data = webread("https://api.vvhan.com/api/rand.music?type=json&sort=热歌榜");
music_infor = data.info;
% 获取音频的数字信号y,和采样频率Fs
[y,Fs] = audioread(music_infor.mp3url);
% 使用采样率 Fs 为信号 Y 创建 audioplayer 对象。该函数返回音频播放器对象 player。
player = audioplayer(y,Fs);
play(player) % 开始播放 音频播放器对象 player
% pause(player) % 暂停播放
% resume(player)% 继续播放
%% 随机一句一言
A_word = webread("https://api.vvhan.com/api/ian?type=json");
disp(A_word.data.vhan)
%% 摸人鱼日历
image_address=webread("https://api.vvhan.com/api/moyu?type=json");
image=webread(image_address.url);
newIcon=javax.swing.ImageIcon('icon.png');
h=figure('ToolBar','none',...
'MenuBar','none',...
'Name','摸人鱼日历',...
'NumberTitle','off');
warning off
figFrame = get(h,'JavaFrame'); % 今后没这个函数了,但是现在我也没办法处理
figFrame.setFigureIcon(newIcon);
imshow(image)
%% 随机LOL超清人物壁纸
LOLimage_address=webread("https://api.vvhan.com/api/lolskin");
imshow(LOLimage_address)
%% 每日一句励志英语
joke=webread("https://api.vvhan.com/api/en?type=sj");
disp(joke.data.en)
imshow(webread(joke.data.pic))
hold on
text(4,4,joke.data.en,'FontSize',14,'FontWeight','bold')
当你使用web的时候,有时候资源就不存在了,即使你能读到,但是原网站的资料没了
所以当你读不到的时候,弹出一个对话框,对话框的消息自己设置,看是哪个资源找不见了。
matlab中的模态对话框都可以这么用,我这里只是用了一个消息提示盒子,记录下他的句柄,等两秒以后自动删除。matlab命令行输入lookfor dlg 可以查到matlab所有的模态对话框,用法大同小异。
定时器的使用参考这篇博客 老子姓李!
在音乐播放器中,有一些时间显示,用到了append函数,设置时间的时候查的是player的CurrentSample和TotalSamples这两个属性。再参考唤醒手腕的博客,这部分功能也就实现了。
此代码来源于24岁的学习随笔
hour = floor(num/3600); % floor: 向下取整
minute = floor(mod(num,3600)/60); % mod: 求余数
second = num - 3600*hour - 60*minute;
if hour < 10
hour = ['0',mat2str(hour)]; % mat2str:将double转化为字符串
else
hour = mat2str(hour);
end
if minute < 10
minute = ['0',mat2str(minute)];
else
minute = mat2str(minute);
end
if second < 10
second = ['0',mat2str(second)];
else
second = mat2str(second);
end
% Output = [hour,':',minute,':',second];
Output =[minute,':',second];
end
在音乐播放器中,主要涉及调节音量大小的问题。用一个滑块来调节音量大小。
1. matlab无法直接控制电脑的声音大小
2. 当你把声音信号变成很大的时候,会有很多噪声。我试了一下,扩大两倍的时候,还能接受,再多的话噪声太明显了。但是在原来的基础上缩小的时候,音质是没任何变换的。
3. 所以有两种办法,第一就是你放大的倍数在0-2倍,第二个就是你初始播放的时候是在0.5播放的,你也最多扩大两倍,音质听着跟原来一样。
4. 可能matlab能直接调整电脑声音,但是我没找见怎么设置。
看到这句话,应该可以实现所有的功能,在这基础上还可以继续改进。丰富更多的测试函数,然后把智能算法也加进去。其次就是改进这个音乐播放器,我只是简单实现了一下,并没有增加更多的功能,就是多用了一两个API,其余的没什么了。