java字节数组播放声音

标签 java audio

我有一个从数据线麦克风读取字节数组的小程序 我不是 100% 确定它是否有效,但只是通过打印阵列的一部分,当我在麦克风旁边发出声音时,它似乎发生了变化:)

我喜欢播放声音 我如何播放缓冲区中的数据(字节数组到声音)??

 package mic; 
import javax.sound.sampled.*;

public class Mic extends Thread{
    boolean flag;
    TargetDataLine mic;
    byte[] buffer;
    AudioFormat format;

    public static void main(String[] args) {
       Mic a=new Mic();
       a.start();
    }
    @Override
    public void run()
    {
        flag=true;
        startMic();
        while(flag)
        {
            send();
        }
    }
    public void send()
    {
        try{
            mic.read(buffer,0,512);
            System.out.println("1. "+buffer[0]);
        }catch(Exception ex)
        {

        }
    }
    public void startMic()
    {
        try{
            format=new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,8000.0F,16,2,4,8000.0F,true);
            DataLine.Info info=new DataLine.Info(TargetDataLine.class,format);
            mic=(TargetDataLine)AudioSystem.getLine(info);
            mic.open();
            mic.start();
            buffer=new byte[512];
        }catch(Exception exx)
        {
            System.out.println("exx");
        }

    }
}

编辑:
我最后想做的是将字节数组发送到其他应用程序并立即播放
就像 radio 的直播

最佳答案

基于 this :

// Create the AudioData object from the byte array
AudioData audiodata = new AudioData(byteArray);
// Create an AudioDataStream to play back
AudioDataStream audioStream = new AudioDataStream(audioData);
// Play the sound
AudioPlayer.player.start(audioStream);

关于java字节数组播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12589156/

相关文章:

java - 从非 Java Ruby 迁移到 Groovy : Language Differences

java - 如何在android studio中使用java获取句子中的前两个单词?

android - Chrome Web Audio API-如何在通话中播放声音

Java如何从电影中提取音频流

jquery - jPlayer在loadcomplete事件上

java - Tika 在服务器模式下的性能

Java多态: How to indicate comparison should be made using subclass?

java - 使用 Apache Wink 通过 Java REST 服务返回 excel 文档

来自 mongodb GridFS 的 HTML5 音频

jquery - 切换 HTML5 音频的 'muted' 属性