【发布时间】:2014-11-06 07:18:19
【问题描述】:
我正在制作一个修改原始声音的程序。
我的程序的进程到这里了。
- 从 AudioInputStream 获取声音
- 将声音数据更改为字节数组。(我的AudioFormat的帧大小是4。所以,我将使用长度为4)
- 修改字节数组(类似于“对每个元素乘以-1”)
- 将修改后的字节数组发送到AudioOutputStream
- 播放声音。
我做了过程 1、2 和 3。
这是我的流程 1、2、3 的 CODE
try {
byte[] packet = new byte[4];
int result;
while((result = audioInputStream.read(packet)) != -1)
for(int i = 0;i < 4;i++)
reflectedPacket[i] = (byte)(-1 * packet[i]);
//I think I have to do something to send packet to AudioOutputStream in here
}
catch(IOException ioe) {
System.out.println(ioe.getMessage());
}
但是不知道怎么做流程4,将修改后的字节数组发送到AudioOutputStream
我看到一个使用 ByteArrayInputStream 的源。
但是,它是读取文件的源,而不是 AudioInput :(
如何进行流程 4 和流程 5?
【问题讨论】:
标签: java arrays audio bytearray javasound