Java Code Examples for javax.sound.sampled.AudioInputStream#reset()

The following examples show how to use javax.sound.sampled.AudioInputStream#reset() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SkipTest.java    From dragonwell8_jdk with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 2
Source File: SkipTest.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 3
Source File: SkipTest.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 4
Source File: SkipTest.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 5
Source File: SkipTest.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 6
Source File: SkipTest.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 7
Source File: SkipTest.java    From jdk8u-jdk with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 8
Source File: SkipTest.java    From hottub with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 9
Source File: SkipTest.java    From openjdk-8-source with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 10
Source File: SkipTest.java    From openjdk-8 with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 11
Source File: SkipTest.java    From jdk8u_jdk with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 12
Source File: SkipTest.java    From jdk8u-jdk with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 13
Source File: SkipTest.java    From jdk8u-dev-jdk with GNU General Public License v2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
    AudioFloatFormatConverter converter = new AudioFloatFormatConverter();
    byte[] data = { 10, 20, 30, 40, 30, 20, 10 };
    AudioFormat format = new AudioFormat(8000, 8, 1, true, false);
    AudioFormat format2 = new AudioFormat(16000, 8, 1, true, false);
    AudioInputStream ais = new AudioInputStream(new ByteArrayInputStream(
            data), format, data.length);
    AudioInputStream ais2 = converter.getAudioInputStream(format2, ais);
    byte[] data2 = new byte[30];
    int ret = ais2.read(data2, 0, data2.length);
    ais.reset();
    AudioInputStream ais3 = converter.getAudioInputStream(format2, ais);
    byte[] data3 = new byte[100];
    ais3.skip(7);
    int ret2 = ais3.read(data3, 7, data3.length);
    if (ret2 != ret - 7)
        throw new Exception("Skip doesn't work correctly (" + ret2 + " != "
                + (ret - 7) + ")");
    for (int i = 7; i < ret2 + 7; i++) {
        if (data3[i] != data2[i])
            throw new Exception("Skip doesn't work correctly (" + data3[i]
                    + " != " + data2[i] + ")");
    }
}
 
Example 14
Source File: AISReadFraction.java    From openjdk-jdk9 with GNU General Public License v2.0 4 votes vote down vote up
static void doTest(AudioFormat format, boolean doMark) {
    out("Test with"+(doMark?"":"out")+" marking. Audio format: "
        +"sampleSize="+format.getSampleSizeInBits()+"bits "
        +"channels="+format.getChannels()+" "
        +"frameSize="+format.getFrameSize()+"byte(s)");
    int maxReadBytes = (testData.length / format.getFrameSize()) * format.getFrameSize();
    InputStream is = new FractionalIS(testData, doMark);
    AudioInputStream ais = new AudioInputStream(is, format, AudioSystem.NOT_SPECIFIED);
    // first some general tests
    if (ais.markSupported() && !doMark) {
            out("  #AIS reports markSupported, but underlying stream cannot! FAILED");
            failed ++;
    }
    if (!ais.markSupported() && doMark) {
            out("  #AIS does not report markSupported, but underlying stream can mark! FAILED");
            failed++;
    }
    byte[] data = new byte[1000];
    int frameSize = format.getFrameSize();
    int counter = 5;
    int totalReadBytes = 0;
    boolean hasRead0 = false;
    boolean hasMarked = false;
    boolean hasReset = false;
    int markPos = 0;
    while (true) {
        try {
            int toBeRead = frameSize * counter;
            counter += 3;
            if (counter > 14) {
                    counter -= 14;
            }
            int read = ais.read(data, 0, toBeRead);
            if (DEBUG) out("  -> ais.read(data, 0, "+toBeRead+"): "+read+"  (frameSize="+frameSize+")");
            if ((totalReadBytes == maxReadBytes) && (read != -1)
                 && ((read > 0) || hasRead0)) {
                    if (read == 0) {
                        out("  #stream was read to the end ("+maxReadBytes+"), but ais.read returned repeatedly 0 bytes. FAILED");
                    } else {
                        out("  #stream was read to the end ("+maxReadBytes+"), but ais.read returned "+read+" bytes... FAILED");
                    }
                    failed++;
                    break;
            }
            if (read > 0) {
                    verifyReadBytes(data, totalReadBytes, read);
                    if ((read % frameSize) != 0) {
                            out("  #Read non-integral number of frames: "+read+" bytes, frameSize="+frameSize+" bytes. FAILED");
                            failed++;
                    }
                    totalReadBytes += read;
                    hasRead0 = false;
            }
            else if (read == 0) {
                    //out("  wanted to read "+toBeRead+" at position "+totalReadBytes+", but got 0 bytes!");
                    if (hasRead0) {
                            out("  read 0 twice in a row! FAILED");
                            failed++;
                            break;
                    }
                    hasRead0 = true;
            } else {
                    // end of stream
                    out("  End of stream reached. Total read bytes: "+totalReadBytes);
                    if (totalReadBytes != maxReadBytes) {
                            out("  #Failed: should have read "+maxReadBytes+" bytes! FAILED.");
                            failed++;
                    }
                    break;
            }

            // test marking
            if (totalReadBytes > 50 && !hasMarked && !hasReset && doMark) {
                    out("  Marking at position "+totalReadBytes);
                    hasMarked = true;
                    ais.mark(0);
                    markPos = totalReadBytes;
            }
            if (totalReadBytes > 100 && hasMarked && !hasReset && doMark) {
                    out("  Resetting at position "+totalReadBytes+" back to "+markPos);
                    hasReset = true;
                    ais.reset();
                    totalReadBytes = markPos;
            }

        } catch (IOException e) {
            out("  #caught unexpected exception:");
            e.printStackTrace();
            failed++;
        }
    }
}