それは、wav再生。
jeodeのランタイムにも、sun.audioパッケージがあるのですが、 これを使っても、どういう訳か、雑音しか出ない。
なんでやねん!?
そう思った方も多いはずです。
もともと対応してねーんじゃないの!?
そう思った方も多いはずです。
サンデーゲームJavaグラマな私は思いました。
もしも、これで音が出せたら、もっと、もっと、楽しいソフトがそろうのに!
そこで、/dev/dspのデバイスについて調査し、この度、めでたくその謎が解明できたため、
wav再生のパッケージをリリースすることができました。(^o^)/
あまり、対応しているフォーマットは多くないし、機能も充実していませんが、
SL-A300専用 wav再生パッケージ jojo3.audio公開です。
ご感想、ご要望などは、掲示板にお願いいたします。
チュートリアルも用意しました。
jojo3audioを利用したサンプル(ソースコード)
#後ろの.binを除いてダウンロードして下さい。
#ソースは汚い、コメント無いです。こんな風にプログラムするのか?とか、雰囲気を感じてください。(^^;
公開にあたり、/dev/dspの解析に協力してくれました、Roz氏、山本かず氏に感謝いたします。
sun.audioパッケージが正式対応されたら、さっさと移行しましょう。
#SL-C700は対応してるらしいですね。SL-A300もとっとと対応して欲しい(;_;)
…が、あまり困らない筈です。(^^; 根拠レス…
というわけで、作成したクラスと、互換性のあるメソッドは、以下の通りです。
| クラス名 | sun.audio 互換メソッド | 備考 |
| AudioStream | AudioStream(InputStream) throws IOException AudioData getData() throws IOException | 現在、動作を確認しているデータは、 ・au形式 U-Law 8KHz 8bit monoral(ちょっと変?) ・RIFF/WAVE形式 PCM 44KHz 16bit Stereo ・RIFF/WAVE形式 PCM 44KHz 16bit monoral ・RIFF/WAVE形式 PCM 44KHz 8bit Stereo ・RIFF/WAVE形式 PCM 44KHz 8bit monoral ・RIFF/WAVE形式 PCM 22KHz 16bit Stereo (SL-A300の内蔵wav) ・RIFF/WAVE形式 PCM 22KHz 16bit monoral ・RIFF/WAVE形式 PCM 22KHz 8bit Stereo ・RIFF/WAVE形式 PCM 22KHz 8bit monoral ・RIFF/WAVE形式 PCM 11KHz 16bit Stereo ・RIFF/WAVE形式 PCM 11KHz 16bit monoral ・RIFF/WAVE形式 PCM 11KHz 8bit Stereo ・RIFF/WAVE形式 PCM 11KHz 8bit monoral |
| AudioData | AudioData(byte[] buf) | bufの内容は、PCM 44KHz 16bit Stereo形式のデータ前提。 RIFF/WAVEヘッダは不要。(というかつけないで! (^^; ) |
| AudioDataStream | AudioDataStream(AudioData ad) int read() int read(byte[] buf, int off, int size) | 特になし。 |
| ContinuousAudioDataStream | ContinuousAudioDataStream(AudioData ad) int read() int read(byte[] buf, int off, int size) | 特になし。 |
| AudioPlayer | AudioPlayer player void start(InputStream is) void stop(InputStream is) | /dev/dspデバイスをオープンするため、Appletでは使用不可。 AppletをFrame等に貼り付けてApplicationとして使用する場合はOK |
履歴:
・2002/12/15 バージョンβ3公開。
メモリ消費量の改善。
・2002/12/10 バージョンβ2公開。
対応形式を大幅増加。
・2002/12/06 バージョンβ公開。