matlab播放音乐

最近在做计算,写了一些matlab代码,脑壳还疼,所以决定发挥一下逗B精神,写一个程序玩一下。

想了想,既然写代码的时候喜欢听歌,而且我的电脑打开网易音乐的速度巨慢(不知道为什么。。),那些一个程序直接播放音乐多好,以后就不用打开那么多软件了。

嗯,这是一个挺有意思的东东。。。

好吧,这是研究背景。。。。。。明显已经中毒了。。。不过写的好low。

言归正传,首先发现的sound函数,而且matlab自带一些声音,比如

load('train');
sound(y,Fs)%y,Fs are matrix

这是matlab自带的声音,火车拉笛的声音。

既然可以播放声音,那问题就简单了(当时那么想的。。)

 接下来只要写几行代码来读取歌曲就OK了。

music_read=dir(fullfile('路径','*.mp3'));

这样便可以找到'路径'下所有的mp3文件,当然其他的类似咯。这样读取播放单个歌曲没有问题了,下一步就想最好是播放列表就好了,自然就想到了循环(菜鸟的高度很低。。),但是问题就来了,每次循环的时间很短,但是歌曲的播放时间不一样长,后面发现可以用audioinfo来读取歌曲信息。下面是代码

music_num = length(music_read);
y_cell = cell(1,music_num);
Fs_cell = cell(1,music_num);
music_name = cell(1,music_num);
    for k = 1: music_num
        music_name{k} = music_read(k).name;
        [y_cell{k},Fs_cell{k}] = audioread(music_name{k});%读取歌曲
     sound(y_cell{k},Fs_cell{k});%播放歌曲 music_info = audioinfo(music_name{k});%读取歌曲信息 pause(music_info.Duration);%每首歌的播放时间 end

这种方式的问题很大,程序一直占着matlab,没法干其他事情了。不好。但是实在是脑壳疼,不搞了,下次有时间在搞。

写这个主要是记录一下几个函数而已。。。。写的乱七八糟的自己看看。。

posted @ 2016-11-26 16:54  学渣求学记  阅读(6201)  评论(0编辑  收藏  举报