有没有办法使用 Groovy 生成音频波形?或者是否有任何第三方库允许您使用 groovy 生成音频波形。
问问题
201 次
1 回答
0
您可以像这样使用 java 音频生成和播放波形(从这里的 java 转换而来):
import javax.sound.sampled.*
byte[] wavform( int freq, int seconds, int sampleRate ) {
byte[] ret = new byte[ seconds * sampleRate ]
ret.length.times { idx ->
ret[ idx ] = (byte)( Math.sin( ( 2.0 * Math.PI * idx ) / ( sampleRate / freq ) ) * 127 )
}
ret
}
int sampleRate = 8000
new AudioFormat( sampleRate, 16, 1, true, true ).with { af ->
AudioSystem.getSourceDataLine( af ).with { line ->
line.open( af )
line.start()
wavform( 200, 1, sampleRate ).with { byte[] wav ->
line.write( wav, 0, wav.length )
}
line.drain()
line.close()
}
}
但是,当您标记此问题grails时,我假设您不想玩它?
于 2013-05-15T08:26:38.723 回答