Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌


  写在前面,本篇博客主要参考博主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 < 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

4、调节音量大小

  在音乐播放器中,主要涉及调节音量大小的问题。用一个滑块来调节音量大小。

   1. matlab无法直接控制电脑的声音大小
   2. 当你把声音信号变成很大的时候,会有很多噪声。我试了一下,扩大两倍的时候,还能接受,再多的话噪声太明显了。但是在原来的基础上缩小的时候,音质是没任何变换的。
   3. 所以有两种办法,第一就是你放大的倍数在0-2倍,第二个就是你初始播放的时候是在0.5播放的,你也最多扩大两倍,音质听着跟原来一样。
   4. 可能matlab能直接调整电脑声音,但是我没找见怎么设置。
在这里插入图片描述

总结

  看到这句话,应该可以实现所有的功能,在这基础上还可以继续改进。丰富更多的测试函数,然后把智能算法也加进去。其次就是改进这个音乐播放器,我只是简单实现了一下,并没有增加更多的功能,就是多用了一两个API,其余的没什么了。

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勉为其难免免

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值