我有这个Android的代码,它播放一个定制的声音,它运行的很好:
AudioTrack output = new AudioTrack(AudioManager.STREAM_MUSIC, baudRate, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_8BIT, bufferSize, AudioTrack.MODE_STATIC);
output.write(myGeneratedWaveform, 0, myGeneratedWaveform.length);
output.play();我如何通过j2me实现同样的目标?
我正在检查Manager.createPlayer的API (.)但没有找到代码样本。
任何帮助都会被接受。
编辑:I有一个带有PCM编码波形的数组。我想复制这与诺基亚系列40。但我的结论是,没有这种形式的支持,只有AMR。因此,开放源码中的库可以从PCM转换为AMR。
发布于 2013-04-29 10:54:44
请查看JSR-135概述的场景7:从存储在JAR中的媒体播放。
InputStream is = getClass().getResourceAsStream("audio.wav");
Player p = Manager.createPlayer(is, "audio/X-wav");
p.start();发布于 2013-10-28 06:40:42
J2ME内置音乐播放器可以播放任何输入流,而不仅仅是从媒体商店捕获的输入流。我的意思是,您可以创建原始字节数组,它以特定的音频格式表示声音数据,然后,将其表示为输入流,将其作为预存储的音频文件播放。
byte[] data; // your audio data, let us say it represents content of a proper wav-file
Player player = Manager.createPlayer(new ByteArrayInputStream(data), "audio/x-wav");
player.start();就这样。顺便说一句,您可以简单地使用一个旧版本的JFugue,它可以使用上面的技巧为J2ME编译。你将得到midi输出从音乐弦乐,如"Cmaj G IFlute C“-这可能是方便耳朵训练中场,等等。任何有兴趣的人都可以查看http://code.google.com/p/jfugue2me/
https://stackoverflow.com/questions/16259622
复制相似问题