java示例代码_使用SourceDataLine在java中毫不延迟地播放声音

     2022-04-13     125

关键词:

java示例代码_使用SourceDataLine在java中毫不延迟地播放声音

final int bufferSize = 2200; // in Bytes
soundLine.open(audioFormat, bufferSize);
soundLine.start();
byte counter = 0;
final byte[] buffer = new byte[bufferSize];
byte sign = 1;
while (frame.isVisible()) 
    int threshold = audioFormat.getFrameRate() / sliderValue;
    for (int i = 0; i < bufferSize; i++) 
        if (counter > threshold) 
            sign = (byte) -sign;
            counter = 0;
        
        buffer[i] = (byte) (sign * 30);
        counter++;
    
    // the next call is blocking until the entire buffer is 
    // sent to the SourceDataLine
    soundLine.write(buffer, 0, bufferSize);

java示例代码_使用MockClassLoader

java示例代码_使用MockClassLoader 查看详情

java示例代码_使用WordNet

java示例代码_使用WordNet 查看详情

java示例代码_使用ColorQuantizerDescriptor

java示例代码_使用ColorQuantizerDescriptor 查看详情

java示例代码_使用KeyEvent

java示例代码_使用KeyEvent 查看详情

java示例代码_使用KeyListener

java示例代码_使用KeyListener 查看详情

java示例代码_使用ReadWriteLock

java示例代码_使用ReadWriteLock 查看详情

java示例代码_使用JndiPropertySource

java示例代码_使用JndiPropertySource 查看详情

java示例代码_使用OnTabChangeListener

java示例代码_使用OnTabChangeListener 查看详情

java示例代码_使用JProgressBar

java示例代码_使用JProgressBar 查看详情

java示例代码_使用多重措辞

java示例代码_使用多重措辞 查看详情

java示例代码_使用IJavaElement

java示例代码_使用IJavaElement 查看详情

java示例代码_使用ConcurrentLinkedQueue

java示例代码_使用ConcurrentLinkedQueue 查看详情

java示例代码_使用java上传文件

java示例代码_使用java上传文件 查看详情

java示例代码_使用java导出文件

java示例代码_使用java导出文件 查看详情

java示例代码_使用Java比较日期

java示例代码_使用Java比较日期 查看详情

java示例代码_使用java声明枚举

java示例代码_使用java声明枚举 查看详情

java示例代码_使用Java登录网站

java示例代码_使用Java登录网站 查看详情

java示例代码_不使用标签重写java代码

java示例代码_不使用标签重写java代码 查看详情