研究テーマ->音楽ソフトの開発->携帯用アプリ開発->Softbank S!アプリ->音楽ファイルを演奏する  
  携帯電話用アプリケーションの開発について紹介します。  
プロジェクトの作成
前の項目で説明したJSCLを使用可能にするための操作を必ず行っておいてください。
Wireless Toolkit 2.5を起動します。
[New Project]ボタンをクリックして、新しいプロジェクトを作成します。とりあえず、「PlayMusic」という名前にします。ClassNameも「PlayMusic」にします。
新規作成でプロジェクト名とクラス名を入力した後に表示されるウィンドウで以下の事を設定してください。
API SelectionのページでCustomを選択し、MIDP 2.0 CLDC 1.1 を選択してください。
(以前の説明で、2.0用のmidpapi20.jarを作成しているため、MIDP2.1を選択すると、ビルト時にエラーになります。)
User Definedのページで、プロパティー名:MIDxlet-API、プロパティー値:JSCL-1.2.2を追加してください。 (あるいは、JSCL-1.3.2。)
下記のアプリには必要ありませんが、MEXA Core, MEXA Unit1, MEXA Unit2,MEXA Bluetooth等のように機能によって分類されているので、必要に応じて追加してください。
OKを押したあと、ウィンドウを閉じてビルドするとソースコードがありませんと表示されますが、それであっています。
処理の流れ
通常のWindowsアプリですと、音楽を演奏する場合は、
(1)音楽ファイルからデータを読み込む
(2)読み込んだデータをAPIで演奏
という流れになります。
携帯アプリの場合は、
(1)リソースから音楽ファイルを読み込む
(2)読み込んだデータをAPIで演奏
という流れになります。
Softbank携帯の場合は、
(1)SmafPlayerのクラスのインスタンスを生成
(2)SmafData のクラスで、着メロファイルを読み込み
(3)SmafPlayerのクラスのインスタンスに、SmafData のインスタンスを渡す
(4)SmafPlayerの再生メソッドを呼び出す
という流れになります。
音楽ファイルの用意
resフォルダの下にsoundという名前のフォルダを作成します。resはリソースの意味で、画像や音楽のファイルを置きます。
拡張子がMMFの音楽ファイルを用意します。test.mmfという名前にしてそれを、soundフォルダの下におきます。
拡張子がMMFのファイルは、MIDIファイルを作成し、それをMMFファイルに変換することで作成できます。この変換は、自動作曲システムACSでも出来ます。
とりあえずのテスト用ファイルが欲しい方は、こちらからダウンロードできます。
ソースコードの記述
プロジェクトの名前を「PlayMusic」にしましたから、最低でも、PlayMusicというクラスをソースコードとして記述する必要があります。
プロジェクト用の「PlayMusic」フォルダというのが何処かのフォルダ(おそらく\WTK25\apps)の下に出来ているはずですから、その下のsrcフォルダの下にソースコードを置かなければなりません。メモ帳で下記のようなプログラムを記述し、PlayMusic.javaという名前でsrcフォルダの下に保存します。
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import com.jblend.media.smaf.*;
import com.jblend.media.*;
import java.io.*;

public class PlayMusic extends MIDlet{
    SmafPlayer player=new SmafPlayer();
    SmafData sound ;

    public PlayMusic() {
        try {         
             sound=new SmafData("sound/test.mmf");
             player.setData(sound);
             player.play();
        }catch(Exception e){
             System.out.println(e.toString());
        }
    }
    public void startApp() {
    }
    public void pauseApp() {
    }
    public void destroyApp(boolean flag){
    }
}
ビルドボタンを押してください。
エラーが表示されたら、何かが間違っています。
通常のシミュレータは使用できませんので[Run]ボタンは押さないでください。
メニューの[Project]->[Package]->[Create Package]を実行します。エラーが表示されたら、何かが間違っています。
エミュレータでの動作確認
S! Appli MEXA Emulator を起動して、メニューの[ファイル]->[ 開く] で、目的とする機種のvjp ファイルを指定して下さい。メニュ−の[ファイル]->[新規作成]で、作ることもできます。
エミュレータ上の電源ボタンをクリックします。決定ボタンをクリックします。「Install」が選ればれているはずなので、決定ボタンをクリックします。
PlayMusicフォルダのbinフォルダにあるjad ファイルを選択しインストールします。セキュリティのメッセージが表示されるのでOKをクリックします。「Yes」が選ばれているので、決定ボタンをクリックします。「OK」が選ばれているので、決定ボタンをクリックします。
上下キーで「Launch」 を選択し、決定ボタンを押します。 インストールしたプログラムがあるので上下キーで選択し、決定ボタンを押します。
以上の操作で、エミュレータ上で動き、音楽が演奏されるはずです。