使用 Tritonus AudioSystem:将 PCM byte[] 数组转换为 mp3 byte[] 数组
Posted
技术标签:
【中文标题】使用 Tritonus AudioSystem:将 PCM byte[] 数组转换为 mp3 byte[] 数组【英文标题】:Using Tritonus AudioSystem: Convert PCM byte[] array to mp3 byte[] array 【发布时间】:2010-10-28 22:36:42 【问题描述】:我的音频项目中的一个库不断输出 PCM 音频的 byte[] 数组流(以及长度和偏移整数)。我正在学习使用 Java Sound API 的 Tritonus 实现将此 PCM 流编码为 mp3。
Java 声音 API 通过 AudioInputStream(由 1)和编码器(由 Tritonus 提供)2)PCM InputStream)提供转换/编码的 byte[] 数组。
但我宁愿像这样使用简单的功能:
convertPCMToMp3(byte[] samples, int offset, int length)
// convert the samples to mp3
// return byte[] encodedsamples int offset int length
Java Sound API 中是否存在这种情况?
如果没有,我可能只使用这些 ByteBuffer-InputStream 实现之一...
http://www.google.com/search?&q=inputstream+bytebuffer
【问题讨论】:
【参考方案1】:我不知道纯 java PCM 到 MP3 转换器,但你当然可以使用 Xuggler 来做到这一点。我建议先看看他们的 MediaTools 类,然后再搞乱任何旧的陈旧库。
http://xuggle.wordpress.com/2009/01/23/how-to-use-xuggler-to-decode-and-play-audio/
【讨论】:
以上是关于使用 Tritonus AudioSystem:将 PCM byte[] 数组转换为 mp3 byte[] 数组的主要内容,如果未能解决你的问题,请参考以下文章
Android - 如何获取 AudioManager / AudioSystem 参数列表
当 clip.stop(); 时 AudioSystem 剪辑不会停止播放正在运行
AudioSystem.getMixerInfo() 在 Java/gentoo 中一无所获
Audiosystem 过早停止写入 AudioInputStream