当前位置: 首页 > 面试题库 >

向后播放WAV文件

艾昊明
2023-03-14
问题内容

我正在用Java 做辫子。如果倒带时间,声音会向后播放。如何向后播放WAV文件?也许有像这样的流previous()?在Braid网站上,您可以看到我的意思。

更新: _ 解决! 看到我自己的帖子。_


问题答案:

!!!!!!

我自己解决了这个问题(14岁!!),
我写了这个课:

import java.io.IOException;
import javax.sound.sampled.AudioInputStream;

/**
 *
 * @author Martijn
 */
public class FrameBuffer {

    private byte[][] frames;
    private int frameSize;

    public FrameBuffer(AudioInputStream stream) throws IOException {
        readFrames(stream);
    }

    public byte[] getFrame(int i) {
        return frames[i];
    }

    public int numberFrames()
    {
        return frames.length;
    }

    public int frameSize()
    {
        return frameSize;
    }

    private void readFrames(AudioInputStream stream) throws IOException {
        frameSize = stream.getFormat().getFrameSize();
        frames = new byte[stream.available() / frameSize][frameSize];
        int i = 0;
        for (; i < frames.length; i++)
        {
            byte[] frame = new byte[frameSize];
            int numBytes = stream.read(frame, 0, frameSize);
            if (numBytes == -1)
            {
                break;
            }
            frames[i] = frame;
        }
        System.out.println("FrameSize = " + frameSize);
        System.out.println("Number frames = " + frames.length);
        System.out.println("Number frames read = " + i);
    }
}

然后:

 FrameBuffer frameStream = new FrameBuffer(austream); //austream is the audiostream
 int frame = frameStream.numberFrames() - 1;
 while (frame >= 0) {
      auline.write(frameStream.getFrame(frame), 0, frameStream.frameSize());
      frame--;
 }


 类似资料:
  • 基于StackExchange的代码,我编写了打开wav文件的代码。wav文件本身是一个有效的文件,因为它可以与我的Python程序正常配合使用。但是javascript函数不起作用。声音文件与我的html文件位于同一文件夹中。 任何帮助都将不胜感激。

  • 问题内容: 我试图互相播放一些WAV文件。我尝试了这种方法: 但这同时发挥了所有作用。所以我需要一个看起来像这样的函数: 向量包含文件,例如:, 我已经寻找了四个多小时,但似乎找不到有效的解决方案:( 我还尝试将WAV文件连接到一个AudioInputStream。它不会产生任何编译器错误,但是声音完全混乱了。码: 编辑 即使我尝试将前两个文件放在一起,也会失败: 问题答案: 这段代码有点底层,但

  • 问题内容: 我正在尝试使用Java播放* .wav文件。我希望它执行以下操作: 按下按钮时,播放一声短促的哔声。 我已经用谷歌搜索了,但是大多数代码都没有用。有人可以给我一个简单的代码片段来播放.wav文件吗? 问题答案: 没有Java反射的解决方案 , ) Java反射会降低性能。跑步:

  • 问题内容: 我尝试pygame播放wav文件,如下所示: 但是它改变了声音,我不知道为什么!我阅读了此链接解决方案,但无法解决播放wave文件的问题! 对于此解决方案,我不知道应该导入什么? 对于这个解决方案/ dev / dsp在新版本的linux中不存在: 而当我尝试pyglet它给我这个错误: 问题答案: 您可以使用PyAudio。我的Linux上的一个示例可以正常工作:

  • 我目前正在尝试学习音频编程。我的目标是打开一个wav文件,提取所有内容并使用RtAudio播放示例。 我制作了一个WaveLoader类,让我提取样本和元数据。我用这本指南来做这件事,我用010编辑器检查了一切都是正确的。这是010编辑器的快照,显示了结构和数据。 这就是我在WaveLoader类中存储原始样本的方式: 如果我打印出我得到的每个样本:1, -3, 4, -5... 问题是,我不确定

  • 我正在使用Jplayer插件来播放音频文件。它可以播放mp3文件,但不支持wav音频文件。我搜索了原因,知道wav音频文件应该是特定的格式,可以用flash或HTML5播放。但是我的wav文件的比特率是64kbps。如何播放这种格式的wav音频文件,例如将wav转换为合适的格式并播放该文件。是否有任何插件可以播放任何格式的wav文件,或者有插件可以将wav转换为合适的格式,以便能够播放文件或任何其