如何在java中从tcp流播放声音
还有另一个应用程序在此套接字上写入原始 wav 文件。 客户端启动并开始收听当前正在播放的歌曲。
Socket clientSocket = new Socket("localhost", 9595);
AudioInputStream stream = AudioSystem.getAudioInputStream(clientSocket.getInputStream());
我得到javax.sound.sampled.UnsupportedAudioFileException:无法从输入流获取音频输入流
关于 AudioSystem.getAudioInputStream 的文档:“从提供的输入流获取音频输入流。该流必须指向有效的音频文件数据。”
如何播放 TCP 流中的声音?考虑到客户无法从音乐的开头开始听。
There is another app that writes raw wav file on this socket.
The client starts and begins listening to the song which is currently playing.
Socket clientSocket = new Socket("localhost", 9595);
AudioInputStream stream = AudioSystem.getAudioInputStream(clientSocket.getInputStream());
I get javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input stream
Doc about AudioSystem.getAudioInputStream: "Obtains an audio input stream from the provided input stream. The stream must point to valid audio file data."
How to play sound from a TCP stream? Considering the client could not start listening from beginnig of the music.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
打开 AudioInputStream 不会播放来自该流的声音。您需要打开剪辑才能播放来自流的声音。我根本不是专家,但您应该通过阅读 来了解如何做到这一点Java 教程。
Opening an AudioInputStream doesn't play the sound coming from this stream. You need to open a Clip to play the sound coming from the stream. I'm not an expert at all, but you should learn how to do it by reading the Java tutorial.
请参阅此项目以获取有效的 TCP 音频流项目:
https://github.com/sam016/J-Mic-Stream-Over-Socket/blob/master/Edit 00/
请参阅此特定文件以了解如何使用 TCP 流播放音频:
https://github.com/sam016/J-Mic-Stream-Over-Socket/blob/master/Edit%2000/SockMicClient/src/av/Client.java
Refer to this project for a working TCP audio streaming project:
https://github.com/sam016/J-Mic-Stream-Over-Socket/blob/master/Edit 00/
Refer to this specific file to get an idea on how to use TCP stream to play audio:
https://github.com/sam016/J-Mic-Stream-Over-Socket/blob/master/Edit%2000/SockMicClient/src/av/Client.java