Exemplo n.º 1
0
void SDLSound::playMusic(const char* directory)
{
    // Part1: scan directory for music files
    char **list = filesystem::enumerateFiles(directory);
    setMusicVolume(gameconfig->sound.getMusicVol());

    musicfiles.clear();
    for (char **i = list; *i != NULL; i++) {
        std::string filename = directory;
        filename.append(*i);
        if (!filesystem::isDirectory(filename.c_str())) {
            musicfiles.push_back(filename);
        }
    }
    filesystem::freeList(list);

    if(musicfiles.size() == 0) {
        LOGGER.info("Couldn't find any music in '%s'", directory);
        return;
    }

    // Part2: play music :)
    currentsong = musicfiles.end();
    nextSong();
    Mix_HookMusicFinished(nextSong);
}
Exemplo n.º 2
0
int MusicPlayer::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QWidget::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: updateTime((*reinterpret_cast< qint64(*)>(_a[1]))); break;
        case 1: playOrpause(); break;
        case 2: openFile(); break;
        case 3: setMod(); break;
        case 4: previousSong(); break;
        case 5: nextSong(); break;
        case 6: whatiLike(); break;
        case 7: showLrc(); break;
        case 8: setPlayer(); break;
        case 9: showPlayList(); break;
        case 10: metaStateChanged((*reinterpret_cast< Phonon::State(*)>(_a[1])),(*reinterpret_cast< Phonon::State(*)>(_a[2]))); break;
        case 11: tableWidgetClicked((*reinterpret_cast< int(*)>(_a[1]))); break;
        case 12: aboutToFinish(); break;
        case 13: clearSources(); break;
        case 14: saveAndQuit(); break;
        case 15: trayIconActivated((*reinterpret_cast< QSystemTrayIcon::ActivationReason(*)>(_a[1]))); break;
        default: ;
        }
        _id -= 16;
    }
    return _id;
}
Exemplo n.º 3
0
void SDLSound::playMusic(const char* directory)
{
    // Part1: scan directory for music files
    char **list = FileSystem::enumerateFiles(directory);

    musicfiles.clear();
    for (char **i = list; *i != NULL; i++) {
        std::string filename = directory;
        filename.append(*i);
        if (!FileSystem::isDirectory(filename.c_str())) {
            musicfiles.push_back(filename);
        }
    }
    FileSystem::freeList(list);

    if(musicfiles.size() == 0) {
        LOG (("Not found any music in '%s'", directory));
        return;
    }

    // Part2: play music :)
    currentsong = musicfiles.end();
    nextSong();
    Mix_HookMusicFinished(nextSong);
}
Exemplo n.º 4
0
int
main (int argc, char ** argv)
{
  gst_init (&argc, &argv);

  GMainLoop* loop = g_main_loop_new (NULL, FALSE);

  pipe = gst_pipeline_new ("pipeline");

  src = gst_element_factory_make ("filesrc", NULL);

  // this parses the FLAC tags to replay gain stuff.
  GstElement* decoder = gst_element_factory_make("decodebin2",NULL);
  GstElement* converter = gst_element_factory_make("audioconvert",NULL);
  GstElement* analyzer = gst_element_factory_make("rganalysis",NULL);

  GstElement* alsa = gst_element_factory_make("fakesink", NULL);

  if(!(src && decoder && converter && analyzer && alsa))
    g_error("_______ could not be created");

  GValue val = { 0, };

  g_value_init (&val, G_TYPE_INT);
  g_value_set_schar (&val, 1);

  g_object_set_property(G_OBJECT(analyzer),"num-tracks",&val);
  g_value_unset(&val);

  GstBus* bus = gst_pipeline_get_bus (GST_PIPELINE (pipe));
  gst_bus_add_watch (bus, bus_call, loop);
  g_object_unref(bus);

  gst_bin_add_many (GST_BIN (pipe), src, decoder,
                    converter, analyzer, alsa, NULL);

  // src -> decoder ...> converter -> analyzer -> sink
  gst_element_link(src,decoder);
  g_signal_connect (decoder, "pad-added", G_CALLBACK (on_new_pad), converter);
  gst_element_link_many(converter, analyzer, alsa, NULL);

  if(argc==2) {
    GString* next = g_string_new(argv[1]);
    nextSong(next);
  } else {
    watch_input(loop);
  }

  g_main_loop_run(loop);
  gst_element_set_state (pipe, GST_STATE_NULL);
  puts("boofff");
  gst_object_unref (pipe);
  return 0;
}
Exemplo n.º 5
0
MusicWindow::MusicWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MusicWindow)
{
    ui->setupUi(this);
    playNum = 1;
    last_PlayNum = 0;
    search_Last = 0;
    player = new QMediaPlayer;
    lyric = new MyLyric(this);
    playMode = "order";
    ui->volumeSlider->setValue(player->volume());
    thread = new Thread(this); //线程实例化
    //窗口初始化
    setElement_BackGround();

    //检测音乐播放进度,同时调整播放滑块
    connect(player, SIGNAL(positionChanged(qint64)), this, SLOT(updateTime(qint64))); 
    connect(player, SIGNAL(durationChanged(qint64)), this, SLOT(setPlayRange(qint64)));
    connect(player, SIGNAL(positionChanged(qint64)), this, SLOT(setPlayPosition(qint64)));
    connect(player, SIGNAL(stateChanged(QMediaPlayer::State)), this, SLOT(lyric_Sync(QMediaPlayer::State)));

    //调整播放进程
    connect(ui->timeSlider, SIGNAL(sliderMoved(int)), this, SLOT(setSliderPosition()));
    connect(ui->volumeSlider, SIGNAL(sliderMoved(int)), this, SLOT(adjustVolume()));
    connect(ui->browserHideButton, SIGNAL(clicked()), this, SLOT(browserSet()));
    connect(ui->setApearenceButton, SIGNAL(clicked()), this, SLOT(setApearence()));
    connect(ui->addButton, SIGNAL(clicked()), this, SLOT(load_again()));
    connect(ui->lyricButton, SIGNAL(clicked()), this, SLOT(show_Hide_Lyric()));
    connect(ui->nextButton, SIGNAL(clicked()), this, SLOT(nextSong()));
    connect(ui->lastButton, SIGNAL(clicked()), this, SLOT(lastSong()));
    connect(ui->playButton, SIGNAL(clicked()), this, SLOT(playEvent()));
    connect(ui->listWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(doubleClickedPlay(QListWidgetItem *)));
    connect(ui->quitButton, SIGNAL(clicked()), this, SLOT(warning()));
    connect(ui->markButton, SIGNAL(clicked()), this, SLOT(markSong()));
    connect(ui->setApearenceButton, SIGNAL(clicked()), this, SLOT(setApearence()));
    connect(ui->muteButton, SIGNAL(clicked()), this, SLOT(set_Mute()));
    connect(ui->storeButton, SIGNAL(clicked()), this, SLOT(store_Show()));
    connect(ui->favoriteButton, SIGNAL(clicked()), this, SLOT(favoriteSongs_Show()));
    connect(ui->browserButton, SIGNAL(clicked()), this, SLOT(browser_Show()));
    connect(ui->loginButton, SIGNAL(clicked()), this, SLOT(user_login()));
    connect(ui->downloadButton, SIGNAL(clicked()), this, SLOT(download_File()));
    connect(ui->modeButton, SIGNAL(clicked()), this, SLOT(playMode_Change()));
    connect(ui->smallButton, SIGNAL(clicked()), this, SLOT(showMinimized()));
    connect(ui->searchEdit, SIGNAL(textChanged(QString)), this, SLOT(songs_Search(QString)));

    //子线程
    connect(thread, SIGNAL(upgrade_Signal(int, QStringList, QStringList, QFileInfoList)), this,
            SLOT(upgradeData(int, QStringList, QStringList, QFileInfoList)), Qt::DirectConnection );

    //载入音乐
    musicLoad();
    Sleep(1000);
}
Exemplo n.º 6
0
void playerPlay(void) {
  uint32_t lastId = -1;
  PGresult* result = NULL;
  int rows = 0;

  gst_element_set_state (pipeline, GST_STATE_NULL);

  for(;;) {
      waitUntilSongInQueue();
      result =
          logExecPrepared(PQconn,"getTopRecording",
                         0,NULL,NULL,NULL,0);
      rows = PQntuples(result);
      if(rows>0) break;
      PQclear(result);
      sleep(1);
  }

  int cols = PQnfields(result);
  fprintf(stderr,"rows %x cols %x\n",rows,cols);
  PQassert(result,rows>=1 && cols==5);
  char* end;

  char* recording = PQgetvalue(result,0,0);
  uint32_t id = strtol(recording,&end,10);
  fprintf(stderr,"ID %x %x\n",id,lastId);

  if (id==lastId) {
    fprintf(stderr,"(error repeated-song #x%x)\n",id);
    goto CLEAR;
  } else {
    lastId = id;
  }

  uint16_t len = strlen(recording);
  int fmt = 0;

  rows = PQntuples(result);
  cols = PQnfields(result);
  PQassert(result,rows==1 && cols==5);
  g_activate_gain.gain = g_ascii_strtod(PQgetvalue(result,0,1),&end);
  g_activate_gain.peak = g_ascii_strtod(PQgetvalue(result,0,2),&end);
  g_activate_gain.level = g_ascii_strtod(PQgetvalue(result,0,3),&end);
  nextSong(PQgetvalue(result,0,4));
 CLEAR:
  PQclear(result);
}
Exemplo n.º 7
0
static gboolean on_input(GIOChannel* in, GIOCondition condition, GMainLoop* loop) {
  static GString* buf = NULL;
  if(!buf) {
    buf = g_string_sized_new(0x40);
  }

  GError* error = NULL;

  GIOStatus status = g_io_channel_read_line_string(in,buf,NULL,&error);
  switch(status) {
  case G_IO_STATUS_AGAIN:
    return TRUE;
  case G_IO_STATUS_EOF:
  case G_IO_STATUS_ERROR:
    fprintf(stderr,"EEEP\n");
    g_main_loop_quit(loop);
    return FALSE;
  case G_IO_STATUS_NORMAL:
    buf->str[buf->len-1] = '\0';
    nextSong(buf);
    return TRUE;
  };
}
Exemplo n.º 8
0
//设置全局界面元素以及部件透明度
void MusicWindow::setElement_BackGround()
{
    //文件夹下面的图片
    QPixmap fit_Button;
    QPixmap small_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/small.png"));
    QPixmap mode_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/order.png"));
    QPixmap play_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/pause1.png"));
    QPixmap last_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/last1.png"));
    QPixmap next_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/next1.png"));
    QPixmap add_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/open.png"));
    QPixmap theme_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/theme1.png"));
    QPixmap mark_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/open.png"));
    QPixmap close_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/close.png"));
    QPixmap browser_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/browser.png"));
    QPixmap login_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/login.png"));
    QPixmap speaker_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/speaker.png"));
    QPixmap download_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/download.png"));

    //设置表格背景、初始化
    titlePalette.setColor(QPalette::Base, Qt::gray);

    ui->storeView->setPalette(titlePalette);
    ui->favoriteView->setPalette(titlePalette);
    ui->storeView->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");
    ui->storeView->hide();
    ui->webView->hide();
    ui->favoriteView->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");
    ui->favoriteView->hide();
    ui->browserButton->hide();
    ui->storeButton->hide();
    ui->favoriteButton->hide();

    //设置界面按钮的图片以及图标大小
    fit_Button = small_Button.scaled(163,163).scaled(21, 21, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->smallButton->setIcon(QIcon(fit_Button));
    ui->smallButton->setIconSize(QSize(21, 21));
    ui->smallButton->setFlat(true);
    ui->smallButton->setStyleSheet("border: 0px");
    ui->smallButton->setToolTip(QString("最小化窗口"));

    fit_Button = mode_Button.scaled(163,163).scaled(31, 31, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->modeButton->setIcon(QIcon(fit_Button));
    ui->modeButton->setIconSize(QSize(31, 31));
    ui->modeButton->setFlat(true);
    ui->modeButton->setStyleSheet("border: 0px");
    ui->modeButton->setToolTip(QString("顺序播放"));

    fit_Button = play_Button.scaled(163,163).scaled(41, 41, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->playButton->setIcon(QIcon(fit_Button));
    ui->playButton->setIconSize(QSize(41, 41));
    ui->playButton->setFlat(true);
    ui->playButton->setStyleSheet("border: 0px");
    ui->playButton->setToolTip(QString("播放/暂停"));

    fit_Button = last_Button.scaled(163,163).scaled(41, 41, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->lastButton->setIcon(QIcon(fit_Button));
    ui->lastButton->setIconSize(QSize(41, 41));
    ui->lastButton->setFlat(true);
    ui->lastButton->setStyleSheet("border: 0px");
    ui->lastButton->setToolTip(QString("上一曲Ctrl+L"));

    fit_Button = next_Button.scaled(163,163).scaled(41, 41, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->nextButton->setIcon(QIcon(fit_Button));
    ui->nextButton->setIconSize(QSize(41, 41));
    ui->nextButton->setFlat(true);
    ui->nextButton->setStyleSheet("border: 0px");
    ui->nextButton->setToolTip(QString("下一曲Ctrl+R"));

    fit_Button = add_Button.scaled(163,163).scaled(36, 36, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->addButton->setIcon(QIcon(fit_Button));
    ui->addButton->setIconSize(QSize(36, 36));
    ui->addButton->setFlat(true);
    ui->addButton->setStyleSheet("border: 0px");
    ui->addButton->setToolTip(QString("add songs"));

    fit_Button = theme_Button.scaled(163,163).scaled(36, 36, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->setApearenceButton->setIcon(QIcon(fit_Button));
    ui->setApearenceButton->setIconSize(QSize(36, 36));
    ui->setApearenceButton->setFlat(true);
    ui->setApearenceButton->setStyleSheet("border: 0px");
    ui->setApearenceButton->setToolTip(QString("更换主题"));

    fit_Button = mark_Button.scaled(163,163).scaled(27, 27, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->markButton->setIcon(QIcon(fit_Button));
    ui->markButton->setIconSize(QSize(27, 27));
    ui->markButton->setFlat(true);
    ui->markButton->setStyleSheet("border: 0px");
    ui->markButton->setToolTip(QString("move to favorite"));

    fit_Button = close_Button.scaled(163,163).scaled(29, 29, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->quitButton->setIcon(QIcon(fit_Button));
    ui->quitButton->setIconSize(QSize(29, 29));
    ui->quitButton->setFlat(true);
    ui->quitButton->setStyleSheet("border: 0px");
    ui->quitButton->setToolTip(QString("close "));

    fit_Button = browser_Button.scaled(163,163).scaled(34, 34, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->browserHideButton->setIcon(QIcon(fit_Button));
    ui->browserHideButton->setIconSize(QSize(34, 34));
    ui->browserHideButton->setFlat(true);
    ui->browserHideButton->setStyleSheet("border: 0px");
    ui->browserHideButton->setToolTip(QString("浏览网页"));

    fit_Button = login_Button.scaled(163,163).scaled(39, 30, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->loginButton->setIcon(QIcon(fit_Button));
    ui->loginButton->setIconSize(QSize(39, 30));
    ui->loginButton->setFlat(true);
    ui->loginButton->setStyleSheet("border: 0px");
    ui->loginButton->setToolTip(QString("登陆"));

    fit_Button = speaker_Button.scaled(163,163).scaled(35, 35,  Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->muteButton->setIcon(QIcon(fit_Button));
    ui->muteButton->setIconSize(QSize(35, 35));
    ui->muteButton->setFlat(true);
    ui->muteButton->setStyleSheet("border: 0px");
    ui->muteButton->setToolTip(QString("静音"));

    fit_Button = download_Button.scaled(163,163).scaled(25,25,Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
    ui->downloadButton->setIcon(QIcon(fit_Button));
    ui->downloadButton->setIconSize(QSize(25,25));
    ui->downloadButton->setFlat(true);
    ui->downloadButton->setStyleSheet("border:0px");
    ui->downloadButton->setToolTip(QString(" 下载"));

    ui->lyricButton->setToolTip(QString("歌词"));
    titlePalette = ui->browserButton->palette();
    titlePalette.setColor(QPalette::ButtonText, Qt::white);

    ui->browserButton->setToolTip(QString("网络"));
    ui->browserButton->setPalette(titlePalette);
    ui->browserButton->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");

    ui->storeButton->setToolTip(QString("mosic store"));
    ui->storeButton->setPalette(titlePalette);
    ui->storeButton->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");
    ui->favoriteButton->setToolTip(QString("我喜欢的歌曲"));
    ui->favoriteButton->setPalette(titlePalette);
    ui->favoriteButton->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");

    titlePalette = ui->musicTitle->palette();
    titlePalette.setColor(QPalette::WindowText, Qt::white);
    ui->musicTitle->setPalette(titlePalette);
    ui->lyricButton->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");
    ui->volumeSlider->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");
    ui->volumeSlider->setTickPosition(QSlider::TicksRight);

    titlePalette = ui->label->palette();
    titlePalette.setColor(QPalette::WindowText, Qt::white);
    ui->label->setPalette(titlePalette);

    titlePalette = ui->playStatusText->palette();
    titlePalette.setColor(QPalette::WindowText, Qt::white);
    ui->playStatusText->setPalette(titlePalette);

    titlePalette = ui->listWidget->palette();
    titlePalette.setColor(QPalette::Base, Qt::lightGray);
    ui->listWidget->setPalette(titlePalette);
    //StyleSheet字符串用来设置模版样式
    ui->listWidget->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");

    //设置主窗口
    this->setWindowOpacity(0.9);
    this->setWindowFlags(Qt::FramelessWindowHint); //无边框窗口
    this->setWindowTitle("Qt MusicPlayer");
    this->setWindowIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/title.png"));
    themeChoise = "pure_zise.png";
    themeToUse = "C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Backgroud/" + themeChoise;
    QPixmap pixmap(/*QString::fromUtf8*/themeToUse);//文件夹下面的图片
    titlePalette = this->palette();
    titlePalette.setBrush(backgroundRole(), QBrush(pixmap));
    this->setPalette(titlePalette);

    //设置全局快捷键动作
    search = new QAction( QString("搜索歌曲"),this);
    search->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_F));
    search->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/search.png"));
    this->addAction(search);
    ui->searchEdit->hide();
    this->connect(search, SIGNAL(triggered()), this, SLOT(songsSearch()));

    last_song = new QAction(ui->lastButton);
    last_song->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left));
    ui->lastButton->addAction(last_song);
    ui->lastButton->connect(last_song, SIGNAL(triggered()), this, SLOT(lastSong()));

    next_song = new QAction(ui->nextButton);
    next_song->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Right));
    ui->nextButton->addAction(next_song);
    ui->nextButton->connect(next_song, SIGNAL(triggered()), this, SLOT(nextSong()));

    pause_song = new QAction(ui->playButton);
    pause_song->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Space));
    ui->playButton->addAction(pause_song);
    ui->playButton->connect(pause_song, SIGNAL(triggered()), this, SLOT(playEvent()));

    small_window = new QAction(this);
    small_window->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));
    this->addAction(small_window);
    this->connect(small_window, SIGNAL(triggered()), this, SLOT(showMinimized()));

    full_window = new QAction(ui->browserHideButton);
    full_window->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));
    ui->browserHideButton->addAction(full_window);
    ui->browserHideButton->connect(full_window, SIGNAL(triggered()), this, SLOT(browserSet()));

    showMini = new QAction( QString("最小化"),this);
    showMini->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/mini.png"));
    connect(showMini, SIGNAL(triggered()), this, SLOT(showMinimized()));

    quit = new QAction(QString("close"), this);
    quit->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/close.png"));
    connect(quit, SIGNAL(triggered()), this, SLOT(warning()));

    login = new QAction(QString("登陆"), this);
    login->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/login.png"));
    connect(login, SIGNAL(triggered()), this, SLOT(user_login()));

    clearList  = new QAction(QString("清空列表"), this);
    clearList->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/clear.png"));
    connect(clearList, SIGNAL(triggered()), this, SLOT(clear_List()));

    download = new QAction(QString("下载歌曲"), this);
    download->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/download.png"));
    connect(download,SIGNAL(triggered()), this, SLOT(download_File()));

    information = new QAction(QString("关于"), this);
    information->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/information.png"));
    connect(information, SIGNAL(triggered()), this, SLOT(about()));
}