我正在尝试从默认麦克风获取麦克风数据,并将其发送到计算机上的另一个程序。发送正常,但是我没有从麦克风读取任何数据,这是输出。无论我是否读取数据,输出都是相同的。 Output: This program: [B@ec7777 Reciever program: b'\x00\x00\x00\x00\x00\x00\..... import java.lang.*; import java.util.*; import java.net.SocketException; import java.io.IOExcept…

2020年11月13日 0条评论 121点热度 阅读全文

我知道黑莓音频播放器具有内部缓冲区,必须在开始播放之前将其填充。这会导致播放器启动之前延迟约2秒。我可以消除延迟并尽快开始播放音频吗? 有什么办法可以减少内部缓冲区的大小。 如果是的话,谁能告诉我该怎么做...。 我正在使用blackberry os版本5。 感谢致敬 乌塔姆 解决方案如下: 事实证明,缓冲区大小无法消除。此缓冲区是在OS 5中期版本中引入的。在以前的版本中,只有初始缓冲区需要填充。 (第一个相关主题的答案,下次尝试使用搜索功能;)

2020年10月29日 0条评论 58点热度 阅读全文

我正在尝试下载音频流并将其保存为250kb的部分。我通过下载音频文件,关闭连接并以250kb的速度开始新的下载来使其工作。但是,以这种方式执行操作时,我在音频文件之间缺少大约10秒钟的音频。 我用于下载250kb部分音频流的代码是: public void downloadMP3() { Thread thread = new Thread(new Runnable() { @Override public void run() { try { URL url = new URL("http://icecast.o…

2020年10月27日 0条评论 49点热度 阅读全文

我想在Java Swing应用中播放来自服务器的流音频。http://64.202.98.32:6210上有一个公共(public)直播流。 我尝试了java sound API,但没有成功: URL ur= new URL("http://64.202.98.32:6210"); AudioStream as = new AudioStream (url.openStream()); 我也看着 Internet audio player from java swing client? 如何在Swing应用中播放现…

2020年10月23日 0条评论 49点热度 阅读全文

我正在使用一个非常基本的Java声音类来从Bing Translate流音频以发音汉字。对于我测试过的所有20个单词(除了其中一个单词),它的工作都非常出色。 当我尝试获取单词“你”(即“你”)的发音时,我听错了声音。奇怪的是,当我采用代码中形成的URL并将其手动放入浏览器中时(我使用的是Bing Translate HTTP API),我得到了正确的声音。因此在我看来,该错误必须存在于我的代码中。我唯一想到的就是缓冲区。 真正奇怪的是我没有变得沉默或胡言乱语。相反,返回的声音是用中文说“一半”(字面意思是“二分之…

2020年9月25日 0条评论 46点热度 阅读全文

我正在以RTP数据包的形式通过网络获得实时音频流,我必须编写代码以捕获,缓冲并播放音频流。 问题 现在,为了解决此问题,我编写了两个线程,一个用于捕获音频,另一个用于播放音频。现在,当我同时启动两个线程时,捕获线程的运行速度比播放线程:( 缓冲区需求 RTP音频数据包。 8kHz,16位线性采样(Linear PCM)。 将在每个RTP数据包中发送4帧20ms音频。 在AudioStart = 24(20毫秒帧数)到达之前不要播放。 播放时...如果缓冲区中的20ms帧数达到0 ...停止播放,直到缓冲AudioS…

2020年9月20日 0条评论 63点热度 阅读全文

目前,我正在开发一个应用程序,该应用程序接收音频流(RAW编码的字节)并对其进行一些转换(重采样,将立体声转换为单声道等)。多亏了JNI,我已经使用opus编解码器实现了对原始字节的编码,但是我有一个小问题: 是否可以收听保存到文件的opus编码流? 我知道,如果添加一些文件头并执行一些其他操作,则应该能够将其另存为OGG文件,但是我不想浪费时间实现功能,而只是为了在测试中收听音频。 理想情况下,我想找到一个能够播放此类流的工具,例如audacity正在播放RAW(当然是在添加编码参数之后)。 谢谢。 解决方案如下…

2020年9月6日 0条评论 77点热度 阅读全文

我正在尝试使用Google的Oboe库为每个麦克风打开2个麦克风流: oboe::AudioStreamBuilder builder; builder.setChannelCount(channelCount) ->setDirection(isInput ? oboe::Direction::Input : oboe::Direction::Output) ->setSharingMode((oboe::SharingMode) sharingMode) ->setPerformanceMod…

2020年8月19日 0条评论 62点热度 阅读全文

我似乎无法弄清楚为什么我的音频文件无法播放。音频文件是WAV文件,只是。我得到的错误是javax.sound.sampled.UnsupportedAudioFileException。 public class MusicProgress { public static void main(String[] args) { // TODO Auto-generated method stub JFrame b = new JFrame(); FileDialog fd = new FileDialog(b, "P…

2020年8月6日 0条评论 44点热度 阅读全文

我正在尝试一个在线MP3(icecast)流,该流在左侧播放一件事,在右侧播放另一件事,并将其拆分为2个单独的文件。我将流传输到不断增长的wav文件中。现在,我想为两个单独的 channel 保存2个其他文件。我在网络上发现了其他一些解决方案,但它们似乎仅适用于完整的wav文件,但由于它是实时流,并且文件不断增长,因此不适用于此解决方案。 我正在尝试用Java做到这一点。 解决方案如下: 只需将FFmpeg打包即可。在那里做是微不足道的。 ffmpeg -i <your stream> -map_cha…

2020年8月5日 0条评论 45点热度 阅读全文