在java中播放和搜索音频文件

时间:2011-08-05 01:59:41

标签: java audio playback seek javasound

我使用this类来播放我的Wav文件。

非常好,但如何在某个位置(KB或秒)启动我的wav文件?

auline.start();
    int nBytesRead = 0;
    byte[] abData = new byte[EXTERNAL_BUFFER_SIZE];



    try {
        while (nBytesRead != -1) {
            nBytesRead = audioInputStream.read(abData, 0, abData.length);
            System.out.println("s");
            if (nBytesRead >= 0)
                auline.write(abData, 0, nBytesRead);
        }
    } catch (IOException e) {
        return;
    } finally {
        auline.drain();
        auline.close();
    }

这是代码的一部分。

2 个答案:

答案 0 :(得分:1)

Clip(1)可以轻松地从任何需要的地方开始发声(以秒为单位)。有关示例,请参阅JavaSound info. page中的Clip代码。

  1. 尤其如此。

答案 1 :(得分:0)

使用此值offset

<强> 0 < offset < lengthOfArray

因此它将从偏移的当前值开始读取,因此只写入读取数据。现在您使用的是offset = 0

的值

auline.write(abData, 0, nBytesRead) ---&gt; auline.write(abData, offset, nBytesRead)

其中offset大于0但小于nBytesRead 请参阅文档#write(byte[], int, int)