有没有办法通过 http 将 Windows 10 中的所有音频输出(而不仅仅是单个文件)流式传输到 Android 客户端设备?

有没有办法通过 http 将 Windows 10 中的所有音频输出(而不仅仅是单个文件)流式传输到 Android 客户端设备?

我想通过 http 将所有音频输出(而不仅仅是单个音乐文件)从我的 Windows 10 PC 传输到我的 Android 手机上的 Neutron Music Player。Neutron 允许输入 http 地址并直接从该地址进行流式传输(例如,它从 xiph.org 互联网广播地址进行流式传输)。我试过 Scream(https://github.com/duncanthrax/scream) 和 BroadWave (https://www.nch.com.au/streaming/index.html),但它们都不起作用。有什么想法吗?

答案1

有没有办法通过 HTTP 将 Windows 10 中的所有音频输出(而不仅仅是单个文件)流式传输到 Android 客户端设备?

技术性的答案是“也许”。

虽然通过 HTTP 传输任何音频可能相当简单,但捕获“Windows 10 中的所有音频输出”的能力完全取决于您的声音设备(例如声卡)。Windows 有多种播放音频的方法,但并非所有程序都使用相同的方法。同样,并非所有声音设备都可能公开相同的接口来访问音频(无论是物理的还是虚拟的)。

总体而言,针对单个音频输入/输出或特定应用程序通常比寻找“一刀切”解决方案更有成效。

有任何想法吗?

由于您指定了 HTTP 流,并且中子音乐播放器支持:

* Streaming audio (plays Internet radio streams, Icecast, Shoutcast).

我建议研究使用冰播使用此工具进行广播(BUTT)相互结合分别作为音频流服务器和音频源。

如果你不喜欢 Icecast,其他可能的音频流服务器包括Steamcast(Icecast 和 SHOUTcast 流)和呐喊广播(SHOUTcast 流)。

值得一提的是,虽然 Shoutcast 拥有精致的界面,但免费版本仅限于以 128 Kbps 的速度流式传输 MP3 格式,而建议的其他应用程序(Icecast 和 Steamcast)则不然。


请注意,使用此工具进行广播取自与 Icecast 兼容的第三方应用程序列表。但是,使用此工具进行广播同时支持 Icecast 和 SHOUTcast 流。


关于捕获“Windows 10 中的所有音频输出”,Windows 中的某些音频驱动程序有时会提供虚拟的“立体声混音”或“您听到的声音”音频设备,这可能会有所帮助(尽管它可能被禁用甚至隐藏)。

此外,在紧急情况下,你可以(理论上)简单地将你的物理音频输出插入你的麦克风输入(如果有的话)。立体声辅助线立体声 Y 型分配器如果担心音频输出(例如扬声器或耳机),则可以使用电缆。


使用 Icecast、BUTT 和立体声混音

概述

以下说明是如何使用 Icecast、使用此工具进行广播和虚拟立体声混音设备通过 HTTP(Icecast)将(大多数)音频从 Windows 发送到 Android 设备的示例。

注意事项

请注意,这些说明忽略了使用 Icecast 的实际 URL,并且仅(短暂地)涵盖通过 IP 进行流访问。如果您想要一个 URL 来与 Icecast 服务器一起使用,一个简单的解决方案是使用动态 DNS 服务,例如 No-IP (https://www.noip.com)。

另请注意,这些说明不涵盖防火墙或端口转发。安装/首次运行时,应允许 Icecast 通过 Windows 防火墙,如果 BUTT 与 Icecast 位于同一台 PC 上,则不需要特殊配置。至于端口转发,有关如何执行此操作(即让您的 Icecast 服务器可通过网络访问)的一般教程随处可见。

常规设置

Icecast (流媒体服务器)

  1. 下载并安装 Icecast

  2. 导航到安装 Icecast 的目录并icecast.xml通过创建其副本进行备份。

  3. 在纯文本编辑器(例如记事本)中打开icecast.xml(不是您的副本)并更改以下 XML 标签/组:

    • 地点

    • 行政

    • 主机名

    • 验证

  4. 保存icecast.xml文件。对于值,你应该得到类似以下内容的内容:

    • <location>Britain</location>

    • <admin>[email protected]</admin>

    • <hostname>lesspotter.com</hostname>

    对于该<authentication>部分:

    • <source-password>Horcrux</source-password>

    • <relay-password>MoreHorcruxes</relay-password>

    • <admin-user>Tom Marvolo Riddle</admin-user>

    • <admin-password>IamLordVoldemort</admin-password>

现在,您应该能够通过icecast.bat在与 相同的目录中使用 来启动 Icecast 而不会出现警告icecast.xml。在“开始”菜单下有一个快捷方式,icecast.bat列为Run Icecast (Console)

如果您想在最小化命令窗口的情况下启动 Icecast(因为在使用时它需要保持打开状态以便 Icecast 运行icecast.bat),您可以使用另一个批处理文件:

例如 icecast-min.bat

@REM Start Icecast with its command window minimized.

@ECHO Off
cd C:\path\to\Icecast\
start "" /min C:\path\to\Icecast\icecast.bat

使用此工具进行广播(音频源)

  1. 下载并安装使用此工具进行广播。

  2. 启动 BUTT 并打开其Settings

例如 BUTT - 设置按钮

BUTT-设置按钮-屏幕截图

  1. 在标签下Settings → Main

    • ADD一个新的(Icecast)Server

    • 添加Log File输出目的地。

    • Save你的更改。

例如 BUTT 设置 - 主选项卡

BUTT 设置 - 主选项卡 - 屏幕截图

3A. 对于您的Server Settings(上述第 1 部分):

  • Name可以是任何你喜欢的东西。

  • Type应设置为IceCast

  • Address并且应该Port127.0.0.18000。1

  • Password应该是<source-password>来自icecast.xml(例如Horcrux)。

  • IceCast mountpoint应分别IceCast user保留为streamsource

  • Save完成后不要忘记你的更改。

例如 BUTT - Icecast 服务器设置

BUTT 设置 - 编辑服务器 (Icecast) - 截图


1 对于Address,如果 Icecast 在另一台计算机上运行,​​您可以指定不同的 IP。对于端口,8000是 Icecast 运行的默认端口(在 中设置icecast.xml)。如果您的 Icecast 服务器位于远程 PC 上,您可能需要允许 BUTT 通过防火墙。


  1. 在 Icecast 运行时,使用 BUTT 主窗口中的白色“播放”按钮 ( ) 连接到 Icecast 服务器。如果一切顺利,“LCD 显示屏”应从 变为idleconnecting带有stream time计数器)。

例如 BUTT - Icecast 服务器(已连接)

BUTT 设置 - 连接到 Icecast 服务器 - 截图

立体声混音(系统音频)

请注意,根据您使用的声音设备,以下部分、全部或不适用的情况可能适用于您。

  1. 打开 WindowsSound控制面板。在 Windows 7 和 Windows 10 中,你都可以搜索sound并看到打开此面板的选项。

  2. 在该Recording选项卡下,查找名为“立体声混音”(或有时是“What U Hear”)的设备。

例如立体声混音 - 虚拟音频设备

立体声混音 - 虚拟音频设备 - 屏幕截图

2A. 如果您没有看到此设备,请尝试在Sound控制面板中单击鼠标右键,然后查找任何选项Show Disabled Devices

例如声音 - 显示已禁用的设备

声音控制面板 - 显示已禁用的设备 - 屏幕截图

  1. 假设该设备存在,选择它并单击Properties

例如立体声混音 - 属性

立体声混音 - 属性 - 截图

  1. Listen选项卡下,确保Listen to this device已选中。Playback through this device下拉设置对于您的目的来说不太重要。但是,一般来说,所选选项不应设置为与您的(默认)设备相同的设备Playback(例如Speakers)。这可能会导致严重的音频问题。

例如立体声混音属性 - 聆听

例如立体声混音属性 - 收听 - 截图

  1. 在该Levels选项卡下,确保音量非零且设备未静音。

例如立体声混音属性 - 级别

立体声混音属性 - 级别 - 屏幕截图

  1. OK如果更改了任何设备选项,请按此键。

检查立体声混音音频

假设您的“立体声混音”(或等效设备)是Ready,您通常可以通过观察设备旁边的声音计(水平条)来查看它是否正在拾取 PC 音频。

要测试这一点,请Sound打开控制面板并在您的 PC 上播放一些音频(例如 YouTube)。如果条形图随音频大致波动,则设备应该正在从 PC 拾取声音(并且音量适当)。

例如检查立体声混音音频检测/级别

检查 PC 音频检测 - 屏幕截图

使用 Icecast 和 BUTT 流式传输系统音频

假设您已经彻底检查了上述所有内容:

  1. 启动 Icecast。

  2. 使用此工具开始广播并打开Settings

  3. 在 下Settings → Audio,选择您的“立体声混音”(或同等)设备。其他设置无需更改即可进行测试。

例如 BUTT 设置 - 音频设备

BUTT 设置 - 音频设备选择 - 截图

  1. 在 Icecast 运行时,使用 BUTT 主窗口中的白色“播放”按钮 ( ) 连接到 Icecast 服务器。如果一切顺利,“LCD 显示屏”应(再次)从 变为(idle带有计数器)。connectingstream time

  2. 如果您没有收到来自 BUTT 的错误,请在您的 PC 上播放一些音频(例如 YouTube)。您应该看到 BUTT 主窗口中的音频表大致随音频波动(类似于上面的“立体声混音”音频表)。

例如使用此工具进行广播 - 音频计

BUTT - 音频计 - 截图

  1. 在 Neutron 音乐播放器中,转到例如。http://Icecast_Server_IP:8000/stream您应该能够在手机上听到从 PC 播放的音频。

相关内容