Mobile:NEWS 2002年5月10日 08:05 PM 更新

Javaアプリ事始め 第10回
サウンド再生しよう

J-フォンのパケット通信対応51シリーズでは、Java機能が大きく強化された。今回は、Javaアプリからサウンドを再生する方法について解説する。(毎週金曜日更新)

Javaアプリのサウンド再生

 これまでにJavaアプリの主要な機能である描画関連については一通り解説してきましたが、描画と並んでよく使われるのがサウンド再生です。今回はJavaアプリでできるサウンド再生について解説します。

 Javaアプリにサウンドがつくことで、何の変哲もないアプリが随分印象の違ったものになります。それくらいサウンドはアプリの重要な要素の1つです。

再生可能なサウンドの種類

 Javaアプリでは以下のフォーマットに対応したサウンド再生ができます。

SMD
SMDはJ-フォンで採用されている従来の着メロ(スカイメロディ)フォーマットです。

SMAF(Synthetic music Mobile Application Format)/MA2、SMAF/MA3
SMAFとはヤマハが策定した、主に携帯電話向けのサウンドフォーマットです。Javaアプリだけでなくauのezplusでも採用されています。SMAF/MA2とはMA2という音源LSIに対応したフォーマットで、16和音、ADPCM再生が可能です(

SMAF/Phrase
SMAF/Phraseとは、複数メロディの重ね合わせが可能なサウンドのフォーマットです。SMAF規格のサブセットで、Javaアプリなどを想定して考案されたものです。

サウンドファイルの作成

 SMDを作成するツールは、フリーあるいはシェアウェアとして多数公開されています。SMAF/MA2/MA3、SMAF/PhraseはSMF(Standard MIDI File)を専用ツールで変換して作成します。専用ツールはSMAFサイトのソフトウェアダウンロードページから無償で入手可能です。SMAFファイルそのものの仕様についてはSMAFのWebサイトで紹介されていますのでそちらを参照してください。

サウンドの制御

 各サウンドフォーマットによって、Javaアプリでできることが若干異なります。

SMAF/MA2(MA3)

  • 再生、停止、再開、繰り返し
  • 音高シフト量の設定
  • 再生音量の設定
  • 再生終了位置の設定
  • 再生位置の移動

SMAF/Phrase

  • 再生、停止、再開、繰り返し、消音(ミュート)
  • 複数フレーズデータの同時再生(Minimum 2つ)
  • 埋め込まれたイベントのフック
  • ADPCM(サンプリング音)再生
  • 音量の設定
  • 定位(パンポット)の設定

SMD

  • 再生、停止、再開、繰り返し
  • 音色の設定
  • 音量の設定

 SMAF/MA2/MA3、SMDを再生するためにはメディアプレイヤー(MediaPlayer)と呼ばれるクラスを、SMAF/Phraseを再生するためにはフレーズプレイヤー(PhrasePlayer)と呼ばれるクラスを実装する必要があります。メディアプレイヤーとフレーズプレイヤーは同時には使用できないという制限事項があります。

サウンド再生サンプル

 今回紹介するJavaアプリはこちらです。jadファイルなどをダウンロードしてください(ZIP圧縮されています)。


サウンドサンプル(MediaPlayer)

 これはメディアプレイヤーを用いたサンプルです。単なる再生だけでなく、一時停止・再開、音量の動的制御、変調の制御が可能です。操作方法は、上下左右キーでボタンのフォーカスを移動させ、決定キーを押すとボタンが押されます。「start」ボタンを押すとサウンドの再生が始まります。普通に再生すると1回の再生で自動的に終了します。「start」ボタンを押した後はボタンが「pause」と「stop」になります。「pause」ボタンを押すと、サウンドは一時停止され、今度は「resume」ボタンが表示されます。「resume」ボタンを押すと、一時停止した箇所から再生が始まります。


操作中のサウンドサンプル(MediaPlayer)

 リピートボタン「On」を押すと、リピートがOnになります。この状態「start」ボタンを押すと連続して再生されます。音量は「+」「−」キーを押して調整します。音量は0から120まで10おきに変化します。転調したい場合には変調の「+」「−」キーを押します。転調は−12から12まで1おきに変化します。音量と変調はサウンド再生前に設定できますが、再生中にも変更できます。変更結果は即時に反映されます。

 サウンドファイルを自前で作成することも前述のツールでできますが、J-PHONE Developer Program内にあるサウンドライブラリからダウンロードしたものを使用することもできます。このサウンドライブラリでは、Javaアプリで使用できる効果音やBGMやジングルを無償で入手できます。

 ソースコードを以下に示します。APIの詳細に関しては、JavaアプリAPIリファレンス(JavaDoc)を参照してください。

TestMediaPlayer.java

TestMediaPlayer.jad

 今回はサウンドについて解説しました。メディアプレイヤーを用いたサウンドの制御方法は一通り解説しましたので、あとは応用で、アプリケーションの中で用途に応じたサウンドファイルを用意し、制御してください。

 次回はフレーズプレイヤーを用いたサウンドの制御方法をご紹介します。次回もお楽しみに。

執筆者紹介 コネクト 伊藤広明
株式会社コネクトは、携帯電話向け技術、特に携帯電話向けJavaに特化した開発会社です。ゲームなどエンタテイメント性の高いコンテンツ系ソフトウェアから、ビジネスエレクトロニックコマースに主眼をおいたアプリケーションに至るまで、幅広い分野の携帯電話向けJavaアプリケーション開発・サーバ開発にはじまり、クラスライブラリの開発、各種ツール類の研究開発、携帯電話向けJavaの開発ノウハウを活かしたコンサルティングも行っています。



関連記事
▼ Javaアプリ事始め 第1回:J-フォン Javaアプリがやってきた!
J-フォンのパケット通信対応51シリーズでは、Java機能が大きく強化された。さらに草の根の開発者でもJavaアプリの作成・公開が可能になっている。本連載では毎週金曜日、Javaアプリの開発について解説していく。

▼ Javaアプリ事始め 第2回:待ち受けアプリを作ろう
J-フォンのパケット通信対応51シリーズでは、草の根の開発者でもJavaアプリの作成・公開が可能になっている。今回は、待ち受けアプリの作り方を紹介する。

▼ Javaアプリ事始め 第3回:待ち受けアプリを作ろう その2
J-フォンのJavaといえば、「待ち受けアプリ」。今回は電話やメールに反応する待ち受けアプリを作っていく。

▼ Javaアプリ事始め 第4回:通信しよう
J-フォンのパケット通信対応51シリーズでは、さらに草の根の開発者でもJavaアプリの作成・公開が可能になっている。今回は、自由度の高い「通信」について扱う。

▼ Javaアプリ事始め 第5回:2Dグラフィックスしよう
J-フォンのパケット通信対応51シリーズでは、Java機能が大きく強化され、草の根の開発者でもJavaアプリの作成・公開が可能になっている。今回は、2Dスプライトについて解説する。

▼ Javaアプリ事始め 第6回:2Dグラフィックスしよう その2
本連載では、J-フォンのパケット通信対応51シリーズのJavaアプリプログラミングを解説。今回は2Dスプライトを使ったゲームを作成してみる。

▼ Javaアプリ事始め 第7回:3Dグラフィックスしよう
本連載では、J-フォンのパケット通信対応51シリーズのJavaアプリプログラミングを解説。今回は、3Dグラフィックスを動かしてみる。(毎週金曜日更新)

▼ Javaアプリ事始め 第8回:3Dグラフィックスしよう その2
J-フォンのパケット通信対応51シリーズでは、Java機能が大きく強化された。今回は特徴の1つである3Dポリゴン機能を使うためのデータ作成を解説する。

▼ Javaアプリ事始め 第9回:特殊機能を使おう
J-フォンのパケット通信対応51シリーズのJavaプログラミングを数回に渡って解説してきた。今回は、Javaアプリから携帯電話情報を取得する方法を見ていく。

▼ J-フォン、パケット端末用JavaのSDKを配布
J-フォンが、JavaのSDKを配布した。一般の制作者がSDKを利用して作成したJavaアプリケーションは、3月1日から発売される「J-SH51」で、ダウンロードすることができる。同時にエイチアイが配布するコンバータを使えば、3Dアプリケーションも作成可能だ。

▼ J-フォンにも一般Javaアプリが登場──Jアプリ★ゲット
J-フォンのJavaでも、iアプリのように一般作者制作のJavaアプリをダウンロードできるようになった。既にいくつかの一般Javaアプリが、集められ、無料でダウンロードできるようになっている。

▼ J-SH51リンクリスト
J-フォンの2.5G端末──パケット対応の「J-SH51」は、Javaからカメラ、着メロ、メールなどすべてがアップグレードされた。さらに動画撮影・送付、音楽再生が可能。公式だけでなく一般のJavaアプリもダウンロード可能になっている。


関連リンク
▼ コネクト
▼ J-PHONE Developer Program
▼ Jアプリ★ゲット
▼ Jアプリ★ゲット Javaアプリ登録キャンペーン

[コネクト 伊藤広明, ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.



モバイルショップ

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!