Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌
绘制基本测试函数图像以及摸鱼听歌
- 一、绘制基本测试函数图像
- 1、函数的定义与调用
- 2、保存图片到指定路径
- 3、图像回调
- 二、复现网易云音乐播放器
- 1、web网络请求API
- 2、try catch end 的使用
- 3、计时器的使用
- 4、时间转换函数
- 4、调节音量大小
- 总结
写在前面,本篇博客主要参考博主slandarer MATLAB App Designer入门实战(一)绘制基本测试函数图像,以及复现博主唤醒手腕 Matlab中有关于web网络请求API的相关应用(更新中)
注:仅记录学习,如有侵权,联系删除。
一、绘制基本测试函数图像
效果图
1、函数的定义与调用
不同的函数,有不同的取值范围,也有不同的计算公式,但同时也使用一些相同的变量名,所以涉及很多函数之间的相互调用以及属性的设置。
举一个简单的例子,大家意会一下。
接下来看一下基本测试函数的关键函数设置
接下来看一下回调函数
startupFcn
2、保存图片到指定路径
在app中保存图片的方法
3、图像回调
二、复现网易云音乐播放器
效果图,摸人鱼日历这个不太稳定。可以换一个自己喜欢的图
在一起,鸡毛蒜皮也是故事
选这个图,绝对不是因为这个女孩子好看(随机获取歌曲的,不管你信不信,我是信了。)
1、web网络请求API
例子,详细介绍请参考博主唤醒手腕的博客。
%% 每日情话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')
2、try catch end 的使用
当你使用web的时候,有时候资源就不存在了,即使你能读到,但是原网站的资料没了
所以当你读不到的时候,弹出一个对话框,对话框的消息自己设置,看是哪个资源找不见了。
matlab中的模态对话框都可以这么用,我这里只是用了一个消息提示盒子,记录下他的句柄,等两秒以后自动删除。matlab命令行输入lookfor dlg 可以查到matlab所有的模态对话框,用法大同小异。
3、计时器的使用
定时器的使用参考这篇博客 老子姓李!
4、时间转换函数
在音乐播放器中,有一些时间显示,用到了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 < 10hour = ['0',mat2str(hour)]; % mat2str:将double转化为字符串elsehour = mat2str(hour);endif minute < 10minute = ['0',mat2str(minute)];elseminute = mat2str(minute);endif second < 10second = ['0',mat2str(second)];elsesecond = mat2str(second);end% Output = [hour,':',minute,':',second];Output =[minute,':',second];end
4、调节音量大小
在音乐播放器中,主要涉及调节音量大小的问题。用一个滑块来调节音量大小。
1. matlab无法直接控制电脑的声音大小
2. 当你把声音信号变成很大的时候,会有很多噪声。我试了一下,扩大两倍的时候,还能接受,再多的话噪声太明显了。但是在原来的基础上缩小的时候,音质是没任何变换的。
3. 所以有两种办法,第一就是你放大的倍数在0-2倍,第二个就是你初始播放的时候是在0.5播放的,你也最多扩大两倍,音质听着跟原来一样。
4. 可能matlab能直接调整电脑声音,但是我没找见怎么设置。
总结
看到这句话,应该可以实现所有的功能,在这基础上还可以继续改进。丰富更多的测试函数,然后把智能算法也加进去。其次就是改进这个音乐播放器,我只是简单实现了一下,并没有增加更多的功能,就是多用了一两个API,其余的没什么了。
Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌相关推荐
- 《MATLAB App Designer从入门到实践》随书源代码
GUIDE已经被MATLAB抛弃了,你还不知道吗?App Designer才是发展的方向 目前市面上MATLAB GUI编程的书籍琳琅满目,但大多数是基于GUIDE开发的,MATLAB从2016年开始 ...
- MATLAB App Designer入门实战(一)
最近也是在研究MATLAB App Designer,开这样的一个系列主要是为了记录我在研究App Designer时遇到的一部分问题的解决,和一部分有趣的想法,每一篇文章会展示如何将一个项目mlap ...
- 汽车各档爬坡度曲线matlab,基于MATLAB App Designer的汽车爬坡能力建模与仿真
1. 引言 汽车常常需要在不同区域的不同道路上行驶,尤其在山区道路上,坡陡路窄,汽车必须具有一定的爬坡能力,爬坡能力通常由最大爬坡度来衡量,最大爬坡度是汽车动力性能的重要指标之一.为此开展了基于MAT ...
- Matlab App Designer 学习笔记
提示:本文的学习视频来自B站小刘老师的教程 链接:https://www.bilibili.com/video/BV16f4y147x9?from=search&seid=2070258926 ...
- MATLAB App Designer入门实战(三)
这期文章中的问题虽然比较少,但是综合性较强. 系列文章目录: MATLAB 手把手带你制作第一个APP designer程序(电子词典) MATLAB App Designer入门实战(一) MATL ...
- matlab app designer使用心得
matlab app designer使用心得 最近导师让我在simulink仿真的基础上整一个仿真软件,然后就发现现在matlab已经把之前的GUIDE升级成了app designer,一番摸索踩坑 ...
- MATLAB App Designer入门实战(二)
为了方便汇总,这里的目录是接着第一篇来的. 系列文章目录: MATLAB 手把手带你制作第一个APP designer程序(电子词典) MATLAB App Designer入门实战(一) MATLA ...
- 用MATLAB app designer设计人机交互界面——二阶线性动态电路可视化分析的研究
用MATLAB app designer设计人机交互界面--二阶线性动态电路可视化分析的研究 这是我第一次尝试写博客,我试着给出电路课上要求的电路实验编程.但是电路的类型有点儿多,所以我只以二阶动态电 ...
- MATLAB App Designer GUI开发从0到1(二)
文章目录 前言 一.开关以及旋钮 1. 左上角:旋钮 2.右上角:90度仪表 3.左下角:分档开关 4.右下角:开关 5.对旋钮微调 二.画图 1. 普通画图 2.添加小组件 三.回调函数 简单的回调 ...
最新文章
- 300秒搞定第一超算1万年的计算量,量子霸权时代已来?
- 从零到熟练编写LaTex数学公式,这两篇就够了
- 基于词典的正向最大匹配中文分词算法,能实现中英文数字混合分词
- 乐山市2021年高考成绩查询,四川乐山2021年普通高考报名人数 实际高考参考人数...
- 浅谈Nginx服务器的内部核心架构设计
- 使用Httpclient来替代客户端的jsonp跨域解决方案
- php.c drcom,校园网绕过Drcom安装自动登录程序到路由器
- linux vector 头文件,LINUX 之Vector用法
- js获取cookie获取不到问题 vue获取cookie以及获取不到问题
- Java迭代器修改链表_Java恼人的迭代器不会返回链表中的元素
- STM32F7xx —— QSPI
- 绘图python_Python绘图
- [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径 - 草根的暂时胜利
- js 点击闭包_【JS进阶】Javascript 闭包与Promise的碰撞
- linux java api_Java常用API、Math类介绍
- PAT 乙级 1017. A除以B (20) Java版
- Android USB audio on Android platform
- 【elasticsearch】安装合集
- Hibernate 学习的书-夏昕(1)
- mapabc高德地图区域收缩事件监听
热门文章
- Docker系列 头脑风暴专用手绘图应用excalidraw
- 用java实现的资源管理器
- 阅读书源最新2020在线导入_推荐3款无广告、速度快、可换源的小说利器,5星使用阅读体验...
- Parameter Sharing Exploration and Hetero-center Triplet Loss
- nvme固态硬盘开机慢_装上固态SSD的电脑几个月后就卡慢?是因为你忽略了这一个细节...
- 【软件测试】我们测试人搭上元宇宙的列车,测试一直在进军......
- SAP 教程之 SAP 中的 IDOC
- 暗影精灵8安装ubuntu18.04双系统后wifi适配器(没有wifi图标)缺少
- 爬虫获取天气预报并可视化
- 点击文字或者按钮在本页面中弹出悬浮小窗口