一个好用的 命令行音乐播放器moc

直接使用sudo apt-get install moc 安装,

使用mocp 打开。h为帮助键。

 

mp3乱码解决办法:

新建一个config放在~/.moc

    ReadTags                = no
    Sort                    = FileName
    ShowStreamErrors        = no
    Mp3IgnoreCRCErrors      = yes
    Repeat                  = yes
    Shuffle                 = no
    AutoNext                = yes
    FormatString            = “%(n:%n :)%(a:%a - :)%(t:%t:)%(A: /(%A/):)”
    OutputBuffer            = 2048
    InputBuffer             = 512
    Prebuffering            = 64
    SoundDriver             = JACK, ALSA, OSS
    JackOutLeft             = “alsa_pcm:playback_1″
    JackOutRight            = “alsa_pcm:playback_2″
    OSSDevice               = /dev/dsp

    OSSMixerDevice          = /dev/mixer

    OSSMixerChannel         = pcm

    OSSMixerChannel2        = master

    AlsaMixer               = PCM

    AlsaMixer2              = Master

    AlsaDevice              = default

    ShowHiddenFiles         = no

    HideFileExtension       = no

    ShowFormat              = yes

    ShowTime                = IfAvailable

    Theme                 = example_theme

    UseMmap                 = no

    SavePlaylist            = yes

    SyncPlaylist            = yes

    ASCIILines              = no

    TagsCacheSize           = 256

    FollowPlayedFile        = yes

    CanStartInPlaylist      = yes

    PlaylistFullPaths      = no

mocp在源里有,可以直接用apt装.

播放的快捷键可以设置为super+p,然后执行的命令设置为mocp –play

您可以使用QMediaPlayer类来实现这个功能。您需要创建一个QPushButton并将其连接到一个槽函数。在槽函数中,您可以使用QMediaPlayer的play()和pause()函数来播放和暂停音乐。您还需要跟踪当前的播放状态以便在按钮被点击时进行适当的操作。以下是一个示例代码: ```cpp #include <QtWidgets> class MusicPlayer : public QWidget { Q_OBJECT public: MusicPlayer(QWidget *parent = nullptr); private slots: void togglePlayback(); private: QPushButton *m_button; QMediaPlayer *m_player; QMediaPlaylist *m_playlist; QMediaPlaylist *m_playedPlaylist; enum PlaybackState { StoppedState, PlayingState, PausedState }; PlaybackState m_state = StoppedState; }; MusicPlayer::MusicPlayer(QWidget *parent) : QWidget(parent) { // Create the button and connect it to the togglePlayback slot m_button = new QPushButton("Play", this); connect(m_button, &QPushButton::clicked, this, &MusicPlayer::togglePlayback); // Create the player and playlist m_player = new QMediaPlayer(this); m_playlist = new QMediaPlaylist(m_player); m_playedPlaylist = new QMediaPlaylist(m_player); // Add some songs to the playlist m_playlist->addMedia(QUrl("qrc:/music/song1.mp3")); m_playlist->addMedia(QUrl("qrc:/music/song2.mp3")); m_playlist->addMedia(QUrl("qrc:/music/song3.mp3")); // Set the playlist to loop m_playlist->setPlaybackMode(QMediaPlaylist::Loop); // Set the player's playlist m_player->setPlaylist(m_playlist); } void MusicPlayer::togglePlayback() { switch (m_state) { case StoppedState: m_player->play(); m_state = PlayingState; m_button->setText("Pause"); break; case PlayingState: m_player->pause(); m_state = PausedState; m_playedPlaylist->addMedia(m_player->currentMedia()); m_button->setText("Play"); break; case PausedState: m_player->play(); m_state = PlayingState; m_button->setText("Pause"); break; } } int main(int argc, char *argv[]) { QApplication app(argc, argv); // Load the music files from resources Q_INIT_RESOURCE(music); MusicPlayer player; player.show(); return app.exec(); } #include "main.moc" ``` 在这个示例中,我们创建了一个名为MusicPlayer的窗口小部件,并在其中添加了一个QPushButton。我们还创建了一个QMediaPlayer和两个QMediaPlaylist,一个用于播放列表,另一个用于存储已播放的媒体。在槽函数togglePlayback()中,我们根据当前的播放状态来决定是播放还是暂停音乐,并更新按钮的文本。当用户点击按钮时,该函数将被调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值