让小爱同学播放本地/远程歌曲的方案 | 小爱音箱播放本地歌曲

2023-11-06 00:20

本文主要是介绍让小爱同学播放本地/远程歌曲的方案 | 小爱音箱播放本地歌曲,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境:HACS+Python
问题:小爱同学不能播放本地歌曲或者群晖中的歌曲
解决办法:HACS + Http Server

背景:冲绿砖是不可能的,DLNA也被阉割了,只能曲线救国了

解决思路:通过HACS监控小爱事件,推送媒体链接并随机播放,具体看下面的流程图
在这里插入图片描述

文章目录

    • 1.安装HACS:
    • 2.安装HACS 小米集成:
    • 3.调试音乐播放
      • 3.1 在HACS开发者工具中调试音乐播放
      • 3.2 构建随机播放列表
      • 3.3 测试播放列表
    • 4.编写 HACS时间
      • 4.1 在HACS中设置场景自动化
      • 4.2 测试小爱


1.安装HACS:

步骤略,自行解决,我是在群晖上拉的官方容器 homeassistant/home-assistant:latest

2.安装HACS 小米集成:

步骤略,自行解决,我是在集成中搜索添加的,参考下图,确保音箱出现:

在这里插入图片描述

3.调试音乐播放

3.1 在HACS开发者工具中调试音乐播放

参考下图,准备一个mp3的url链接,最好是直连,重定向的我测试也可以

步骤:开发者工具-服务器-play media-选择实体-ID为链接地址,选择播放

如果一切顺利的话,你会听到小爱音箱直接播放音乐,你已经成功90%了

在这里插入图片描述

3.2 构建随机播放列表

我们的目的是让小爱播放我们服务器中的所有音乐,只推送一个MP3链接是不行的
这一块我尝试了很多方法,最后的思路是用python 写一个http的服务器:
1.当用户请求/playlist时立即扫描本地音频文件
2.打乱文件顺序,生成一个m3u8的播放列
3.小爱读取播放

这篇关于让小爱同学播放本地/远程歌曲的方案 | 小爱音箱播放本地歌曲的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/353380

相关文章

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

SpringBoot3.X 整合 MinIO 存储原生方案

《SpringBoot3.X整合MinIO存储原生方案》本文详细介绍了SpringBoot3.X整合MinIO的原生方案,从环境搭建到核心功能实现,涵盖了文件上传、下载、删除等常用操作,并补充了... 目录SpringBoot3.X整合MinIO存储原生方案:从环境搭建到实战开发一、前言:为什么选择MinI

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过