【问题标题】:How should I cache an audio file in Java (using JLayer)?我应该如何在 Java 中缓存音频文件(使用 JLayer)?
【发布时间】:2011-05-28 02:24:30
【问题描述】:

我正在开发一个需要使用声音文件的应用程序(目前通过 JLayer 音频库),我想知道是否可以将文件缓存在内存中以便不必读取它每次需要时都可以使用硬盘。

例如,我可以将图像存储在 BufferedImage 对象中,而不是每次需要图像时调用 ImageIO.read;有没有类似的方法可以使用 JLayer 来解决这个问题?我应该使用不同的音频库吗?我只是不想每次用户触发声音时都敲击磁盘(可能每秒多次)。

如果有区别,音频是 MP3 格式。

【问题讨论】:

    标签: java caching audio


    【解决方案1】:

    您可以将任何文件(最大到一定大小)读入一个字节[]并从那里处理它。

    Java 对 InputStreams 的抽象(消费者不需要知道数据来自哪里)应该使这非常简单(假设您的音频库没有硬编码以从文件中读取)。

    首先查找ByteArrayOutputStream 和ByteArrayInputStream。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-23
      • 1970-01-01
      相关资源
      最近更新 更多