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

绘制基本测试函数图像以及摸鱼听歌

  • 一、绘制基本测试函数图像
    • 1、函数的定义与调用
    • 2、保存图片到指定路径
    • 3、图像回调
  • 二、复现网易云音乐播放器
    • 1、web网络请求API
    • 2、try catch end 的使用
    • 3、计时器的使用
    • 4、时间转换函数
    • 4、调节音量大小
  • 总结

  写在前面,本篇博客主要参考博主slandarer MATLAB App Designer入门实战(一)绘制基本测试函数图像,以及复现博主唤醒手腕 Matlab中有关于web网络请求API的相关应用(更新中)

注:仅记录学习,如有侵权,联系删除。

一、绘制基本测试函数图像

  效果图
Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌_第1张图片

1、函数的定义与调用

  不同的函数,有不同的取值范围,也有不同的计算公式,但同时也使用一些相同的变量名,所以涉及很多函数之间的相互调用以及属性的设置。
  举一个简单的例子,大家意会一下。
Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌_第2张图片
  接下来看一下基本测试函数的关键函数设置
Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌_第3张图片
  接下来看一下回调函数
Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌_第4张图片

  startupFcn

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

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

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

2、保存图片到指定路径

  在app中保存图片的方法
Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌_第8张图片

3、图像回调

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

二、复现网易云音乐播放器

  效果图,摸人鱼日历这个不太稳定。可以换一个自己喜欢的图
  在一起,鸡毛蒜皮也是故事
Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌_第10张图片
  选这个图,绝对不是因为这个女孩子好看(随机获取歌曲的,不管你信不信,我是信了。)
Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌_第11张图片
Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌_第12张图片
Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌_第13张图片

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所有的模态对话框,用法大同小异。
Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌_第14张图片

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能直接调整电脑声音,但是我没找见怎么设置。
Matlab App Designer 【03】绘制基本测试函数图像以及摸鱼听歌_第15张图片

总结

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

你可能感兴趣的:(Matlab,App,Designer,matlab,开发语言)