zoukankan      html  css  js  c++  java
  • 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,没法干其他事情了。不好。但是实在是脑壳疼,不搞了,下次有时间在搞。

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

  • 相关阅读:
    关于总线的总结
    我已经理解了并发和并行的区别
    关于CPU的一些基本知识总结
    shell生成指定长度的随机数
    进程、线程、协程、例程、过程的区别是什么?
    Perl输出带颜色行号或普通输出行
    Ruby数组(2):数组方法详细整理
    Linux find常用用法示例
    MariaDB官方手册翻译
    Ruby中to_s和to_str、to_i和to_int、to_a和to_ary、to_h和to_hash的解释说明
  • 原文地址:https://www.cnblogs.com/hnuhui/p/6103725.html
Copyright © 2011-2022 走看看