zoukankan      html  css  js  c++  java
  • 树莓派控制音乐

     

    方法0 调用系统播放

    sudo apt-get install mpg123
    

      

    如果命令行直接打开播放设置

    开启树莓派的声卡
    建议输入

    #sudo raspi-config
    

     

    这样就进入了树莓派的设置面板。

    选择第八项Advanced Options并回车,然后选择第六项Audio再回车:

    一共有三个选项,一个是Auto,一个是HDMI,一个是3.5mm耳机。

    如果失败要使用命令行输入

    sudo amixer cset numid=3 1

    意思是换成耳机输出

    优点:播放正常

    缺点:暂时不能控制

    filename = "/home/pi/Desktop/music/zjl.mp3"
    
    import os
    
    os.system("mpg123 "+ filename)
    

      

    额外

    不能正常播出
    第一步
    sudo raspi-config
    第二步
    选择 Advanced Options 选项
    第三步
    选择 Audio选项
    第四步
    选择 Force 3.5mm(‘headphone’)jack(具体选择因个人情况而定)
    最后保存退出。

    可以通过安装alsa工具来调整音量
    命令如下
    sudo apt-get install also-utils also-tools
    输入alsamixer调整音量
    ————————————————

    方法1  pygame

    http://www.cppcns.com/jiaoben/python/287261.html

    安装库
    sudo pip install mutagen
    sudo pip install pygame

    问题 :音乐b播放变慢

    优点: 可以各种控制


    2、开始

    2.1 设计说明

    1、包含 上一首、下一首、暂停/播放、快进/快退、显示当前播放的歌曲名称、显示播放进度条
    2、使用pygame.mixer
    3、随机播放磁盘某个目录及其子目录下的mp3文件
    4、上一首、下一首用随机选择choice(list) 实现
    5、进度条用按照一定速度移动进度图片来实现,过程中处理暂停、快进
    6、歌曲快进播放用pygame.mixer.music.play(0,d_song_time) 实现
    7、暂停用pygame.mixer.music.pause() 实现
    8、播放用pygame.mixer.music.unpause() 实现
    9、用mutagen.mp3来获取mp3信息

    import time
    import pygame
    import os
    from mutagen.mp3 import MP3
    #获取地址并拼接
    list1=os.listdir('/home/pi/Desktop/music')
    list2=[]
    for i in list1:
        s=os.path.join(r'/home/pi/Desktop/music',i)
        list2.append(s)
        print(list2)
        
        
    for n in list2:
        # 获取每一首歌的时长
        audio = MP3(n)
        pygame.mixer.init()
        path = n
        pygame.mixer.music.load(path)
        #pygame.mixer.music.play()#播放载入的音乐。该函数立即返回,音乐播放在后台进行
        pygame.mixer.music.play(10)#快进    
        time.sleep(int(10))
        pygame.mixer.music.pause() # 暂停
        time.sleep(int(3))
        pygame.mixer.music.unpause() # 接着播放
        #获取歌曲时间
        time.sleep(int(audio.info.length))
    

      

    • pygame.mixer.music.load()  ——  载入一个音乐文件用于播放
    • pygame.mixer.music.play()  ——  开始播放音乐流
    • pygame.mixer.music.rewind()  ——  重新开始播放音乐
    • pygame.mixer.music.stop()  ——  结束音乐播放
    • pygame.mixer.music.pause()  ——  暂停音乐播放
    • pygame.mixer.music.unpause()  ——  恢复音乐播放
    • pygame.mixer.music.fadeout()  ——  淡出的效果结束音乐播放
    • pygame.mixer.music.set_volume()  ——  设置音量
    • pygame.mixer.music.get_volume()  ——  获取音量
    • pygame.mixer.music.get_busy()  ——  检查是否正在播放音乐
    • pygame.mixer.music.set_pos()  ——  设置播放的位置
    • pygame.mixer.music.get_pos()  ——  获取播放的位置
    • pygame.mixer.music.queue()  ——  将一个音乐文件放入队列中,并排在当前播放的音乐之后
    • pygame.mixer.music.set_endevent()  ——  当播放结束时发出一个事件
    • pygame.mixer.music.get_endevent()  ——  获取播放结束时发送的事件
  • 相关阅读:
    combotree的总结(这个好)
    Extjs下拉树代码测试总结
    ExtJs 3 自定义combotree
    项目中EXTjs中运用到的下拉树
    EXTJS下拉树ComboBoxTree参数提交及回显方法
    Extjs window组件 拖动统制
    extjs grid数据改变后刷新的实现
    获取 ext grid 选中行 对象
    ext:grid分页,列宽度自动填满grid宽度
    pringBoot2.0启用https协议
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/12907910.html
Copyright © 2011-2022 走看看