通过 wifi/tcp 的 Java Sound PCM Stream 非常“静态”。

发布于 2024-11-04 15:04:02 字数 253 浏览 5 评论 0原文

我编写了一个程序,将 PCM 流从我的电脑传输到另一台电脑或我的 Android(使用 AudioTrack)。它使用 java 声音并从立体声混音器获取目标线和源线。从技术上讲,一切都正常(套接字、混音器、线路、流、缓冲区等),但远程扬声器上的输出听起来非常静态。即使没有声音传出,也会有持续的噼啪声。我在手机和电脑上测试了该程序,结果相同。

我能做些什么? 谢谢, Bill

ps 代码相当大,而且有点乱,但如果你要求的话,我可以将其发布到某个地方。

I've written a program that transmits a PCM stream from my pc to another pc or my android(using an AudioTrack). It uses java sound and takes the target and source lines from the Stereo Mix mixer. Everything technically works (sockets, mixers, lines, streams, buffers, etc.) but the output on the remote speakers is very static-y sounding. Even when there isn't sound coming through, there is a constant crackling sound. I've tested the programs on my phone and computer with the same result.

What can I do?
Thanks,
Bill

ps The code is pretty big, and kinda messy, but I can post it somewhere if you ask.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

追我者格杀勿论 2024-11-11 15:04:02

通常,静态意味着您向音频子系统提供了不正确的数据:根据您的描述,音频路径中可能存在错误,我怀疑您是:

  1. 在读取/传输/接收音频时遇到一些字节对齐问题来自源头的数据。
  2. 无意中将网络流与接收端的本地环回音频混合。
  3. 输入无效的静音数据(对于需要不断输入音频数据的声音子系统)。
  4. 在应该的时候不提供静默数据。

Typically the static means you're feeding incorrect data to the audio subsystem: given what you describe there's probably an error in the audio path, and I'd suspect you are either:

  1. Experiencing some byte alignment issue when reading/transmitting/receiving the audio data from the source.
  2. Inadvertently mixing your network stream with local loopback audio on the receiving end.
  3. Feeding in invalid silence data (for sound subsystems that need to be constantly fed with audio data).
  4. Not feeding in silence data when you should be.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文