我有一个网络应用程序(jsp / servlets),允许用户下载音频文件并在手机中播放。针对大量观众,我希望为普通智能手机开发j2me应用程序。我的音频文件是录音,可能会运行大约50分钟。因此,应该有一个非常轻量级的音频文件供用户在我的移动应用程序中下载和播放.J2ME应用程序可以通过http访问音频文件(因为大多数手机支持http而不是rtsp)。我的问题是
1.什么是最合适的音频文件格式,可以在更智能的手机(诺基亚,索尼爱立信,摩托车等)中运行,并且最轻量级的下载? (据我所知mp3很好,但是更多手机支持mp3吗?)
2.如何在servlet中编码大型音频文件(开源编解码器和那些编码的音频文件必须在j2me应用程序中播放: - Manager.createPlayer(url)轻松,请提供任何示例代码或来源)
我的目标是允许用户下载大约5mb文件,这些文件可能会运行大约50分钟。我不知道是否可能。如果有人知道,请让我知道我的问题的答案。
答案 0 :(得分:2)
Manager
类允许您测试设备是否支持mp3。最新的JavaME设备可以,但你应该检查,因为唯一保证支持的音频格式是wav。
至于最好的,在你的情况下,最好的是最快转移,我想。您应该以尽可能小的可接受质量创建文件(例如:单声道而不是立体声,低比特率而不是高等)。由于您使用语音而不是音乐,因此您不需要44.1 kHz立体声CD质量。
编辑:
但是,我认为您不能通过HTTP在JavaME中传输音频。 Player.prefetch
方法将尝试在播放之前下载整个文件,50 MB对于像JavaME这样的内存受限设备来说太多了。如果您的设备支持,您必须使用RSTP;或使用DataSource
方法的createPlayer
版本,并实施DataSource
以将常规InputStream
从HTTP连接返回到您的文件。