CLDC+MIDP+携帯電話用 ..
[2ch|▼Menu]
809:デフォルトの名無しさん
05/10/06 11:41:49
auのPhase2.5の機種で、通信で取得した音が再生できない現象に陥っています。
どなたか解決策等ご存知でしょうか?

private MediaResource readMel(InputStream in, int size){
    byte buf[] = new byte[size];
    MediaResource mes = null;
    try{
        in.read(buf);
        mes = new MediaResource( buf ,"devm39z");
 // 以下略

ほぼ同等のソースにて、DocomoとVordafoneは音が再生できています。
エラーも出ず、ただ音が鳴るべき場所でならないのですが、
どうしたものかと・・・
尚、リソースからであれば再生できるのですが、
諸事情によりリソースに入れることは出来ません。
よろしくお願いします。


810:デフォルトの名無しさん
05/10/06 13:36:41
リソース(resフォルダ)で試したというが,それもInputStreamで読んでbufにして,なの?
それならbufを比較すれば通信時にデータが変わってるかどうかとか確認すれば・・
つか,例外chatchしてねーの?

811:809
05/10/06 14:27:21
>>810
>リソース(resフォルダ)で試したというが,それもInputStreamで読んでbufにして,なの?

>mes = new MediaResource( buf ,"devm39z");
この行を
>mes = new MediaResource( "resource:///xxx.mmf");
と変更したのみです。

bufの中身に関しては取得したファイルと完全に一致しています。
catchに関しては略していますが、例外は出ていないので関係ないかと。


812:デフォルトの名無しさん
05/10/06 15:59:36
リソースの場合も同じようにInputStreamで読み込んでみればってことでしょうに

813:807
05/10/06 16:20:27
>>808
ご親切にありがとうございました

814:809
05/10/06 16:42:35
InputStreamだと鳴りませんね・・・
えーと、つまり別の方法をチョイスしたほうがよさげってコトですかね。

ひとまずレコードストアへ保存して、そこから読み込みを試してみます。
他に良い案があればご教授よろしくです。


815:デフォルトの名無しさん
05/10/07 02:18:57
すみません、質問させてください。

Vodaのエミュレーター(1.2.2)+Eclipse2.1.3環境でデバッグが出来ないです・・・
説明のPDF読んで設定し、エミュレーターの起動オプションに以下のように書いてみたものの
「server=8000 なんて設定できない」とのメッセージが出てしまいます。
マニュアルを見るとserverのオプションは y か n のどちらかしか受け付けないようなので、
しかたなくserver=nにして起動。すると、エミュレータが数秒間だけ起動するもアプリを実行せずに終了してしまい、まったく動かす事が出来ません。
これはマニュアルの設定が間違ってるのでしょうか?それとも他の要因?

vodafoneのEclipseプラグインでデバッグ出来てる人いらっしゃったら教えてください。

オプション毎の結果(serverの設定のみ変更)
起動せず:-Xdebug -Xrunjdwp:transport=dt_socket,address=localhost:2800,server=8000,suspend=n -Xdescriptor:C:\eclipse\test\bin\a\test.jad
起動せず:-Xdebug -Xrunjdwp:transport=dt_socket,address=localhost:2800,server=y,suspend=n -Xdescriptor:C:\eclipse\test\bin\a\test.jad
すぐ終了:-Xdebug -Xrunjdwp:transport=dt_socket,address=localhost:2800,server=n,suspend=n -Xdescriptor:C:\eclipse\test\bin\a\test.jad

816:デフォルトの名無しさん
05/10/07 10:07:50
>>809
ストリームかbuf作るところに問題あるんじゃない?
さっき確認のため自分でリソースからbuf,MediaResouece作って再生できたよ。
ちなみに自分のやり方はこう

InputStream is=getClass().getResourceAsStream("/test.mmf");
ByteArrayOutputStream os=new ByteArrayOutputStream();
int data;
while ((data = is.read()) != -1) os.write(data);
byte[] buf = os.toByteArray();

念のため単に機種依存でないかとかも確認したほうがいいかも。

817:デフォルトの名無しさん
05/10/07 10:49:45
>>816
ありがとうございます。おかげで問題の切り分けが出来ました。
816同等のソースを作成して試してみたところ、リソースからはOKでした。
で、HttpConnectionから取得した方だとまだ再生できていません。
ファイルそのものか、InputStreamの構築に問題があるって事になりそうです。

サーバには、リソースと同じファイルを置いています。
それと通信部分のソース晒します。

HttpConnection conn = null;
try{
    String url = "URLリンク(xxx.co.jp)";
    conn = (HttpConnection)Connector.open(url, Connector.READ_WRITE, true);
    conn.setRequestMethod(HttpConnection.GET);
    int con = conn.getResponseCode();
    if( (con >= 200) && (con < 300)){
        InputStream in = conn.openInputStream();
        // 中略
        MediaResource mel = readMel(in);    //809のソース

こんな感じなのですが、問題ありそうな箇所はありますか?
よろしくお願いします。


818:809=816
05/10/07 10:52:09
名前付け忘れました(´д`)
とりあえずHttpConnectionから取得したバッファと
リソースから読み込んだバッファのダンプ出して比較してみます。


819:デフォルトの名無しさん
05/10/07 11:48:02
>>818
>>811
>bufの中身に関しては取得したファイルと完全に一致しています。


820:809
05/10/07 12:06:26
実機でダンプを出してみて、やっと原因はわかりました。
上手くまとめられる自信が無いので箇条書き。

・テストに使用しているmmfファイルは1891バイト
・エミュでダンプを出すと、通信で取得したもの、リソースで取得したものとも
 1891バイトの全く同じファイルが取得できる。
・実機でダンプを出すと、リソースから取得したものは1891バイト、
 しかし通信で取得すると1645バイト。
・ファイルを比較すると、mmfファイルのヘッダまでは同じで、中身が異なる。
 先頭や末尾の数バイトが削れているわけではないらしい。
・サーバに1645バイトのファイルは存在しない。
・URLも間違っていない

一体通信で何を取得しているのかサッパリなんですが・・・
どなたか心当たりのある方お助けください_| ̄|○


821:809
05/10/07 12:07:30
>>819
申し訳ないです。
エミュでしか確認とっていませんでした。
詳細は820に・・・


822:デフォルトの名無しさん
05/10/07 14:12:51
>>809
とりあえず通信周りで原因になりそうな部分は
・無料サーバ系の自動広告挿入(ファイルのヘッダが同じならこれが原因ではないはず)
・エミュでのアクセス時,Connection.getLength()が変な値(-1とか)を返す場合がある
 (これもある程度のサイズが取れてる事から違うと思う)
・サーバでの文字エンコード(一番ありそうかな?)
ということで,サーバにhtaccessとかで,mmfをapplication/octetstreamとかにして
自動エンコードを避ければ解決するかな?とか言ってみる。



823:デフォルトの名無しさん
05/10/07 14:16:24
漏れもサーバーのMIME設定が原因に100ガバス

824:デフォルトの名無しさん
05/10/08 03:14:00
アプリ★ゲットでメガアプリ登録できるようになったんだけど、
「※署名有り 3CGVアプリ配信は行えませんのでご注意ください。」
だとさ。通信するVアプリはだめぽ。

825:デフォルトの名無しさん
05/10/08 03:19:27
>>824

 |:::|::|__    、-'''"´ ̄ ̄`"''''-、   __|_::::||
__|::::|::|_|_   / /       \ \|::::||;;;||..  ___ .___
m|::|::|::::|_/   ● ,,.  .,, ●    ヽ:||::::::_|__|_ | |iiii
::::||::::|;;;;;|.     (__人__)     |目;;‖|≡| ̄|iiii
::::||::::|旦''-、、,,,,,,______,,,,,,、、-'' 超巨大ショボーン

826:デフォルトの名無しさん
05/10/08 22:17:57
>>824 についてなんですが、
今回配布できるようになったのは、
「VFXな1MBまでのアプリをUntrustedな状態で」
という理解でよろしいんでしょうか。。

メガアプリ = VFX
としていいのかがよくわからんのです。

827:824
05/10/08 23:07:15
>>826
> >>824 についてなんですが、
> 今回配布できるようになったのは、
> 「VFXな1MBまでのアプリをUntrustedな状態で」
> という理解でよろしいんでしょうか。。

いいと思います。

> メガアプリ = VFX
> としていいのかがよくわからんのです。

VFXはプラットフォームの名前なので、(私は)正確には違うと思います。
現実には、
  VFX対応機種=メガアプリが動く端末
なので、どうでもいい事かも。

Vodafoneとしての「メガアプリ」の定義があるはずですが、何をもって
「メガアプリ」と呼ぶかの説明は、公には見た事はありません。
定義が無いならば、自分がそう思うものを勝手に「メガアプリ」と呼べばいいでしょう。


828:826
05/10/09 00:26:20
>>827
どもです。
> 何をもって「メガアプリ」と呼ぶかの説明は、公には見た事はありません。
Vodafoneのページを見てても、メガアプリが何であるか書かれてなくて、
PDF見ても「メガアプリ」の用語が全然なくての >826 の質問でした。
アプリゲットのページでも、今度は「VFX」と一言も書かれてないのが気になって。

829:デフォルトの名無しさん
05/10/09 23:52:42
Voda的にはJSCL、VSCLの差はどーでもよく、
アプリサイズが256KB以上なら「メガアプリ」を名乗れるとか聞いた。

830:デフォルトの名無しさん
05/10/10 00:25:22
そのアプリ★ゲットの告知は目がサイズのクリエターアプリも
配信するようにしましたよってだけだろ
3G用のアプリは以前から配信されてるし
URLリンク(appget.com)

831:デフォルトの名無しさん
05/10/10 08:37:39
・アプリレジ には対応しておりません
・署名有り 3CGVアプリ配信は行えません。

この2つは、アプリゲットじゃどうにもならんのかな。
こっちをなんとかしてもらいたい。

832:デフォルトの名無しさん
05/10/10 22:19:56
>>815
自分はできている。server=8000だし。

自分も同じような状況で悩んだような。。かなり以前だったので
忘れちゃいまして。
どっかの設定を忘れているんだと思いますよ。

833:デフォルトの名無しさん
05/10/10 23:24:28
>>815
エミュレータを起動しないでデバッグしようとしていない?


834:デフォルトの名無しさん
05/10/11 11:20:23
>>829
正解。アプリ容量だけ。(VFX下の)JSCL-1.2.2を使っても問題なし。ただし、MIDP-2.0にはなるが。

>>831
公式CPはVアプリをVodafoneが用意した特別なサーバーに転送するので、基本的にはその時点で認証済となる。
アプリゲットにはそういう仕組みが無いので無理かと。


835:デフォルトの名無しさん
05/10/11 12:54:17
>>832-833
すみません、出来ました。こちらの環境ミスでした。
何を思ったかプラグインと違うところからSDK持ってきてました・・・SDK2.2って3GCのじゃなくてP6用なのね

ところで、もう一つ質問なのですが、デバッグ時にエミュを起動してからリモートデバッグするのですが
アプリの初期化部分でブレークしたい場合、どうすればよいのでしょうか?
エミュレーターのオプションでsuspend=yにして実行してみたものの、アプリが起動してくれません。


836:デフォルトの名無しさん
05/10/11 22:08:25
>>835 pluginのマニュアルにはっきり「できません」と書いてあるよ

837:デフォルトの名無しさん
05/10/12 14:31:46
Vアプリの開発にあたって、調べているのですがなかなか出てこないので
質問させてください。
Vアプリで端末固有ID(auでいうところのサブスクライバIDのような
もの)みたいなのって、取れるんですか?


838:デフォルトの名無しさん
05/10/12 16:38:21
>>837
電話番号に一義的に対応するuid(ユーザーID)のことであれば、vodafoneでは取れない。
uidは有料サイトの課金情報に使うため公式CP以外は取れないはず。
ちなみに端末シリアル番号(P5型以降)はユーザーエージェント、
端末種別はms-profileに乗っかってくる。

839:837
05/10/12 16:56:38
>>838
ありがとうございます。端末シリアル番号でOKです。
送る、送らないをアプリで制御するんでしょうか?


840:838
05/10/12 18:15:59
>>839
シリアル番号を送るか送らないかは、携帯端末の[ユーザーID通知]というメニューから各自が独自に設定する。
アプリ側からは操作できない。
V603SHの場合は、F82「ウェブ]->[ウェブ設定]->[セキュリティ設定]-(暗証番号入力)->[ユーザーID通知]

従って、
(1)web側でユーザーエージェントをチェックし、シリアル番号が含まれてなかったら、その旨をアプリ側に通知する。
(2)アプリ側で「一旦アプリを終了し、端末のウェブ設定メニューよりユーザーIDの通知を行ってください]...というようなメッセージを表示させる。
(3)ユーザー側がアプリを一時終了し、設定を変更して、再度アプリを立ち上げなおす。
...という手順が良いと思われ。

841:837=839
05/10/12 18:58:05
>>838=840

よくわかりました、ありがとうございました!


842:デフォルトの名無しさん
05/10/12 20:47:04
>>841のレベルが上がった。
URLリンク(tokyo.cool.ne.jp)
技術力が1上がった
知識が1上がった
仕事量が5上がった
体力が2下がった
精神力が3下がった

「ユーザーエージェント取得」を覚えた
「実装でハマってデスマ」を覚えた

843:デフォルトの名無しさん
05/10/15 23:37:50
auのjavaアプリをつくりたいのですが、なにをしたらいいかまったくわかりません。
普通のjavaの勉強をどれくらい(どのへんまで)やれば携帯ゲームが作れるようになりますか?

844:デフォルトの名無しさん
05/10/16 00:15:53
>>843
とりあえずこれを作ってみれば?
URLリンク(www.au.kddi.com)
URLリンク(www.au.kddi.com)
URLリンク(www.au.kddi.com)


845:デフォルトの名無しさん
05/10/16 00:34:32
ビルドとかはできるんですが、ソースが書けないんです。
ですから海外のを変換したりしてます。

846:デフォルトの名無しさん
05/10/16 02:49:38
>>845 よーしパパ、特別にゲームプログラムの書き方を教えちゃうぞ〜

1.JavaのAPIリファレンスと文法に関するドキュメントを用意する。
2.ソースを開く
3.プログラムの開始点を見つける.
#startApp() 又はそのソースファイルと同じ名前のメソッドがそれ。
4.ソースを順番に一行づつ追いかけて、処理がどう流れるか、変数の中身はどう変化するのかを細かく見ていく
5.わからない部分はGoogleでみつかるまで検索する。

1〜5を繰り返し、すんなり理解できるようになればプログラムを書けるようになってる。
健闘を祈る。

追伸:
微妙にスレ違いなのでプログラムを書いて動かせるようになるまではここに書き込まないでくれ。
Java自体がわからなければ初心者用スレで質問してくれ。

847:デフォルトの名無しさん
05/10/16 03:08:02
>javaアプリをつくりたいのですが、なにをしたらいいかまったくわかりません
javaアプリをつくりたいんだったらまずauはやめてドコモかvodaに機種変
話はそれからだ
auのjavaは事実上とっくに終わってる(わずかにくもの糸で繋がってるような存在)

848:デフォルトの名無しさん
05/10/16 11:35:09
>>846
ありがとうございます。
>>847
いえ、auのがいいんです。
他につくる人が少ないからこそ、まだ残ってる少ないjavaの人のためにやりたいので。

849:デフォルトの名無しさん
05/10/16 14:29:33
>>848
EZアプリ(Java)の使用者なんぞ、auの全加入者の1/4以下だった希ガス。
んで、非CPのアプリでもバリバリ入れる人なんか、更に少ない。
あと、EZアプリ(Java)のエミュの入手が少々困難。
滂沱のノキア機種向けに作った方が良いかもよ?

850:デフォルトの名無しさん
05/10/16 18:06:53
>EZアプリ(Java)のエミュの入手が少々困難。
今ではPhase3対応版公開されてるんだぜ?

851:デフォルトの名無しさん
05/10/16 18:16:56
>>850
どこに?

852:デフォルトの名無しさん
05/10/16 20:38:33
>>851
>>2

853:デフォルトの名無しさん
05/10/16 22:02:31
KJX作成ツールだけでは?
個人で配布してるのはたまに見るけど、あれいけないんですよね。

854:デフォルトの名無しさん
05/10/16 23:33:42
CLDC1.1で浮動小数点のサポートとなってるのですが、
これって携帯もそれに対応していないとダメなのでしょうか?


855:デフォルトの名無しさん
05/10/17 00:20:59
エミュレータとKJX作成ツールの違いもわからない香具師がいるのか

856:デフォルトの名無しさん
05/10/17 03:43:16
>>854
あたりまえ

857:デフォルトの名無しさん
05/10/17 10:37:30
>>850 見たけどKJXツールのみでCPに配布してるPhase3対応版エミュはなかったぞ。

858:デフォルトの名無しさん
05/10/17 11:40:20
知ったかやろう=>>850はスルー推奨
レス付けても本人は既に海外に逃亡してこのスレにはいないよ

859:デフォルトの名無しさん
05/10/17 14:41:16
基本的な質問です。ヘルプなどの説明文を流す音声プレーヤーを作りたいんですが、JavaでUDPをつかって
ストリーミングするのか、もしくはSWFを使って、こういう
URLリンク(blue-pacific.com)
構造にするのがいいのか迷っています。
音はモノラルで人の声が普通に聞けるくらいの音質、サイズは1分以内なので、1MBは行きません。
音は途中で多少切れるくらいなら問題ありません。
ただし、音のファイルの数が多いです。後々検索とかもつけたいです。
また、上記以外の方法より簡単なやり方がありましたら教えてください。

助言をお願いします。





860:デフォルトの名無しさん
05/10/17 15:42:25
>>859
MIDPアプリからスピーカはいじれないんだが
どうやって音を出すつもりなのかな?
それとUDPもSWFも使えないから。

861:デフォルトの名無しさん
05/10/17 17:12:20
mmfを逐次ダウンロード、、、ぐらいかな。

862:デフォルトの名無しさん
05/10/17 18:11:25
あいうえお、全ての音声データを単体で用意して
ロボボイス発射w

863:デフォルトの名無しさん
05/10/17 20:06:18
MA5だとしゃべる機能あるよね?
何言ってるのかわかんないけど。w

864:デフォルトの名無しさん
05/10/17 21:48:03
EZ+Eclipseでブレークポイント設定してデバッグってできますか?
Phase3用エミュのパラメーターみるとそれっぽいのがあるんで
Vodafoneの場合と同じように設定して動かしてみたんだけど
こんな↓感じでリモートデバッグの実行のところで止まってます。やっぱり無理なのかなぁ・・・

Connecting to localhost on port 2800
Waiting for debugger on port 8000
Sending JAR and Descriptor to KVM
Connection received.


865:859
05/10/18 00:00:57
>>860
どうもです。スピーカーいじれないんでしょうか。。。orz
URLリンク(www.amazon.co.jp)
この本(まだ買ってないんですけど)
こんなチャプターがあったりして、で人間の声再生できないんでしょうか?
>端末制御とサウンド再生
> 6.3 サウンドファイルを再生する
とりあえず、ストリーミングとかは忘れて(1ファイル小さいので)もっともシンプルに人の声を再生する
のは実現可能な方法を探しております。

>>861
>mmf
wavからコンバートできるみたいですね、ありがとうございます。大学でこんな面白いこと教えていいのかorz
URLリンク(sparrow.math.ryukoku.ac.jp)

>>862
>ロボボイス
個人的には興味アルのですが(つなぎ目の処理とか形態素解析とか)、多言語化する可能性もあるので
ちょとムツカシそうです。英語とかアルファベット=発音じゃないものが出てきそうなので。

>>863
>しゃべる機能
コレもちょっと調べてみます。MP3プレーヤーが搭載されてる機種とか
URLリンク(it.nikkei.co.jp)
こういうストリーミングの実験とか、結構いろんなチョイスが出てきそうです。


866:デフォルトの名無しさん
05/10/18 13:05:28
>いろいろなチョイス
携帯Javaなんだからさ...861のくらいしか選択肢ないと思うよ。
1分の音声mmfが1MB弱というのはぶれてないけど、
今の端末に搭載されているヒープメモリでは再生は辛いだろうね。
通信速度もネック。たぶん10分以上かかる。

でターゲットとしているキャリアはVodaのみでいいのかな?
2Gか3Gかでも挙動違うよ。


867:809
05/10/18 17:43:09
コメントいただいた方々、ありがとうございます。
今更ですが解決しました。
サーバの設定は変えられないため、
代用の手段としてcgiを間に挟んだら無事再生できるようになりました。

どうもご迷惑をおかけしましたm(__)m


868:デフォルトの名無しさん
05/10/18 20:39:51
ボーダなんですが
stubclasses.zip使ってmmf鳴らそうとしてるんですが うまくビルドができません
どうすればいいのでしょう?
環境はj2sdk1.4.1_07です



現代の日本人は飽食の時代だ
ある ねずみの実験によると食料をとりすぎたねずみと食料は少量しか与えなかったねずみとを比べると
寿命と健康面では少量しか与えなかったねずみのほうが総じて良かったということらしい
人間にも同じことが言えるんだそうだ。

プチ断食のやり方とか効能とか
URLリンク(www.millionpower.co.jp)
URLリンク(nikkeibp.jp)

ちなみに俺は昨日からやってる。
エネルギー摂取というべきものはバナナをミキサーでかけて牛乳を混ぜたバナナジュースから摂ってるだけだ

869:デフォルトの名無しさん
05/10/18 20:41:45
ごめんなさい。他スレに書き込むものが入ってしまいました。
下の書き込みは無視してください。
というか痛恥ずかしいのでもうちょっと調べて試行錯誤してからきます。
すいませんでした

870:デフォルトの名無しさん
05/10/18 21:10:09
プチ断食で頭をすっきりさせて
開発に励め!

871:デフォルトの名無しさん
05/10/18 21:54:52
>>868
「うまくビルドできません」ではあまりにもアホすぎると思いませんか?

エラーメッセージがでるなら、具体的にそれを書くとか、
どういう方法でビルドしているのか、とか、
そういうことぐらい書いてください。

872:859
05/10/18 23:45:59
>>866
基本的にはVodafoneで考えてます。確かに各機種のメモリの容量とか、ご指摘の
2Gと3Gの違いについても現在いろいろ勉強しないと駄目そうですorz。


いろいろ教えてくださった方々、どうもありがとうございました。

>>868
プチ断食ワロス

873:デフォルトの名無しさん
05/10/19 00:02:35
>>868
おそらくstubclasses.zipにPhrase系のクラスで
足りないメソッドがあったはず。
自分はstubclasses.zipを解凍、逆コンパイル、スタブ追加、再ビルド&jar化
して事なきを得ていますよ。


874:デフォルトの名無しさん
05/10/19 00:35:07
868はコピペの釣りだな

875:デフォルトの名無しさん
05/10/19 01:08:40
えっ、それってstubclasses.zip あたりも全部くるめて、ってこと?

876:デフォルトの名無しさん
05/10/19 01:18:31
スレリンク(gline板)
これかな?

877:デフォルトの名無しさん
05/10/19 11:13:30
>>875
stubclasses.zipを全部解凍しなくてもエラー出すクラスだけ
部分的に取り出してスタブメソッドを追加してもよい。
もちろん全部解凍、全部圧縮ってやってもなんの問題もないよ。
たしかAudioPhraseTrackクラスあたりに欠落が。



878:デフォルトの名無しさん
05/10/20 23:15:12
voda3Gで3D使おうと思って、んぱかさんのところ見たらMIDP2.0のサンプルソースでは
(.m3g)ファイル使ってるみたいなんだけど
JSCLでは(.mbac+.mtra+.bmp)のファイルでMIDP2.0のAPIだと(.m3g)ファイルを使うってこと?

探し方悪いかもしれないけど探しても見つからなかったのでよろしくお願いします

879:Voda専
05/10/21 04:59:40
>>875
うろ覚えなのだが、com.j_phone.amuseとcom.jblend.media.smaf.phraseで、実装機能が違う。
P5型(JSCL-1.2.1以降)がインストールされているのなら、
プログラム上では、
import com.jblend.media.smaf.phrase.*;
で、宣言して
com.jblend.media.smaf.phrase.AudioPhraseTrackTrackPCM = null;
とフルパスで初期化すれば桶。

>>878
mbac,mtraを使わないのは、MIDP-2.0だからではなく、VFXだからだと思う。
3GC用のJSCL-1.2.2をインストールし、JadとManifestにMIDP-1.0と仮に書いておけば、
1M程度までのアプリならP6型エミュレータでデバックできるし、従来の資産(.mbac,.mtra,.bmp)が使えるのでそちらが便利。
3GC機にもっていく前に、MIDxlet属性を編集、APIをMIDP-2.0に変更、permissions項目を書いてやれば、3GC機で動作する。


880:デフォルトの名無しさん
05/10/21 20:39:40
結局、MIDP2.0にすると多機種への移植が面倒なのでやらない罠。

881:デフォルトの名無しさん
05/10/21 21:09:48
3G向けにHTTPS通信するアプリを作ってます。
接続時のCertificateExceptionを回避するために
MIDletに署名が必要となりますが、
その署名する元の証明書は何を指定すればいいか分からないです。
Sunの「Secure Java MIDP Programming Using HTTPS with MIDP」の
ページを参考に署名してみると、
シミュレータ上ではHTTPS通信できるようになりました。

でも本当にこれでいいのでしょうか?サーバの証明書とかは関係ないのでしょうか?
正しいやり方知ってる方いませんか?

882:デフォルトの名無しさん
05/10/21 22:12:53
>>881
今のところ3Gで通信するときの署名は公開されていないはず
なので3Gでは通信できません

883:878
05/10/21 23:56:47
>>879
なるほど・・・。
ところで(.mbac+.mtra+.bmp)と(.m3g)の違い教えてくれませんか、全然資料見付からないorz
あとMascotCapsule4ではテクスチャは256x256のpngファイルだとどこかで見た気がするんだけどbmpでもいいんだっけ・・・?

>>881
通信する時必要な署名はVodafone側から公開されていないので、
現在のところ通信を使うことは出来ないはずです
メモリカードはアクセス出来たような気が。

884:デフォルトの名無しさん
05/10/22 01:19:27
>通信する時必要な署名はVodafone側から公開されていないので、
>現在のところ通信を使うことは出来ないはずです
>メモリカードはアクセス出来たような気が。
え???メモリーカードへのアクセス出来たの???
5月ぐらいからずっと開発から退いてるので、今の現状分からないのですが、詳細希望っす。

885:デフォルトの名無しさん
05/10/22 01:27:13
次世代DVDのBlu-rayもBD(Blu-ray Disk)-Javaが必須機能で、
プレイヤ/レコーダがCLDC+MIDPのお仲間になりそうですね。

886:881
05/10/22 04:23:56
>>882
まじですか・・・
もしかしてHTTPSではなくて、HTTPでも通信はできないってことでしょうか・・?

ちなみにauのJavaアプリではHTTPS通信できますか?勝手サイトですが。
auの仕様書的にはできるって書いてありますが、HTTPすらまだ成功してません。


887:デフォルトの名無しさん
05/10/22 05:04:23
透過PNGのことについて聞きたいのですが、
背景の上に人物画像をのせて人物周りを透過にしたいのですが、
エミュ上では透過しているのに、実機上(V603SH,V902T)では
透過されず、白くなってしまいます。
だれか正しく透過できる方法をおしえてください。
よろしくお願いします。


888:デフォルトの名無しさん
05/10/22 13:58:24
>>884
すいません、メモカも署名ないので無理でした。
ちなみに>>500ぐらいから署名とか書いてあります
7月から署名公開とか言ってたのはどうなったんでしょうね

>>886
少なくともAUでHTTP通信は出来ます

>>887
透過はたしか256色PNGでしか有効にならなかった気がします。

889:デフォルトの名無しさん
05/10/22 21:06:50
3Gに移植させようとして詰まってしまいました。
もしご存知でしたらお答えいただけないでしょうか?

1.「JSCL 1.2.2 SDK 1.0.1」でコンパイルしていますがこれで正しいですか?
2.JADファイルの設定について、
   MIDlet-OCL: JSCL-1.2.2
   MicroEdition-Profile: MIDP-1.0では起動しないのでしょうか?
  (V902SH、V903SHではMIDP-2.0でないとだめですか?)
  (3Gと256では別のJADが必要??)

3.上記1でJADの内容はMIDP-2.0にしてビルドしてエミュレータで実行すると
  NULL出力され中断されます。PhrasePlayer自体が3Gでは利用できなくなった
  のでしょうか?あるいはエミュレータの問題??

<ソース>
PhrasePlayer ph_play;
Phrase[] ph = new Phrase[3];
PhraseTrack[] ph_tr = new PhraseTrack[4];

ph_play = PhrasePlayer.getPlayer(); // <<ここで落ちてるようです

ph_tr[0] = ph_play.getTrack();
ph_tr[1] = ph_play.getTrack();
ph_tr[2] = ph_play.getTrack();
ph_tr[3] = ph_play.getTrack();

以上です。長々と恐縮いたします。よろしくおねがいいたします。

890:デフォルトの名無しさん
05/10/23 00:29:22
>>889
>1.「JSCL 1.2.2 SDK 1.0.1」でコンパイルしていますがこれで正しいですか?
これでコンパイルしないと作れないことなんてないと思うが・・・
必要なライブラリ入ってればなんでもいい
>2.
ヒント:
ログを読む
VODA公式に出てるpdfを読む
>3.上記1でJADの内容はMIDP-2.0にしてビルドしてエミュレータで実行すると
>  NULL出力され中断されます。
例外orエラーすら拾えないってことか?
PhrasePlayer自体はあるはずだが。
単純にPhrasePlayerだけ使うプログラム作って実行してみたら?

>>883
なんか放置されてるっぽいから一応
内部的なことしかやってなくて3Dはよくわからんけど
m3gはMIDP2.0のAPIで使えるように3つのファイルをまとめただけのような気もする・・・
JSCL1.2.2(がP6だったかな?)が実装されてる3G端末なら
com.jblend.graphics.j3dをインポートしとけば一応実行できるからmbacとかので今は問題なさそうだけど、
今後3GにJSCLなくなったりと考えるとガクブル
詳しい人俺も知りたいんでヨロ

891:890
05/10/23 00:42:37
ごめんなんか勘違いしてた(これも勘違いかもしれないけど
m3gはシーンファイルで、言い換えればaviとかのムービーファイル
mbac+mtra+bmpはモデル+アクション+テクスチャ、役者と台本と衣装みたいな。

m3gは再生したりしか出来ないけど、
mbac+mtra+bmpの場合は別のfigure(マップとか)の上に設置出来て、そこを動かしたり出来る。

なんか書いてて自分でも何のことだか分からないけどそんな違いだと思う。
ゲームなんか作るときはキャラクター移動させたりする必要あるからm3gは使えないんじゃないかなぁ。

892:Voda専
05/10/23 04:05:47
>>889
1.「JSCL 1.2.2 SDK 1.0.1」でコンパイルしていますがこれで正しいですか?
正解。stubclasses が stubclasses_JSCL.zipになっていれば桶。

2.JAD/マニフェストファイルの設定は以下の通り
MIDlet-Permissions : javax.microedition.io.Connector.http (使ってなくても必要)
MIDxlet-API : JSCL-1.2.2 (MIDlet-OCLではない)
MIDxlet-ScreenSize : 0,0 (QVGA機向けアプリ(240x240)ならば記述必要:旧MIDlet-Application-Range)

なお、MicroEdition-Profile:MIDP-1.0では実機で起動しない。したがってMIDP-2.0と記述する必要がある。
これに関しては、tipsがあるので、詳しくは後述。

3.PhrasePlayerは、879でも書いたが、ただのPhrasePlayerの場合、JSCL-1.1.0以前のcom.j_phone.amuseのPhrasePlayerが参照される。
JSCL-1.2.2(P5以降,Vodafone 3G)用の場合、冒頭部分で
import com.jblend.media.smaf.phrase.*;
と宣言し
com.jblend.media.smaf.phrase.PhrasePlayer pp = com.jblend.media.smaf.phrase.PhrasePlayer.getPlayer();
の如くフルパスで取得すれば問題なし。

なお、サウンドの挙動は、SHとTでかなり異なり、従来機(2.5G)で正常に鳴っていたサウンドがVodafone 3G機では、
(特にSH機の場合)正常に鳴らないことがたまにあるので、実機チェックをしっかりやること。
(一部機種において、サウンドリソースの開放がうまくいかない機種がある)

4.ちなみにVodafone 3G用のJSCL-1.2.2SDKに収録されているエミュレータでは正常にアプリが動かないことが多いので、
MicroEdition-ProfileをMIDP-1.0に書き換えて、P6型エミュレータで動作検証するほうが良い。
その後、実機チェック前にJadとマニフェスト中のMIDP-1.0をMIDP-2.0に書き換えて実機に転送すれば動作は桶。

5.海外製携帯はダメダメだが、日本製Vodafone 3G携帯ではJSCLがなくなることはあり得ないので、安心汁。
理由は[どうしても]としか言いようがないので、深い詮索は勘弁。


893:889
05/10/23 17:20:39
>>890さん
ヒントをありがとうございます。あれから
もう一度慎重にPDF等読み直しました。
(色々な事を再認識することができました。ありがとうございます。)

>>892さん
初めての移植で戸惑ってしまい、それをご配慮いただき
分かりやすいご回答ありがとうございます。
いま参考にしながらやっているところです。助かります。


894:デフォルトの名無しさん
05/10/25 14:55:00
海外のアプリをEZに変換しようとすると、
javax.microedition.midlet.MIDlet.main(+41)
といつもでます。
これはなにがいけないんでしょうか?

895:デフォルトの名無しさん
05/10/25 15:37:02
>>894
EZに変換する方法とか、海外アプリの概要とか、どこでそのエラーっぽいメッセージが出たのか、
もうちょい情報をくれ。

896:デフォルトの名無しさん
05/10/25 17:15:53
>>895
コマンドプロンプトで直接jarとjadを合わせてます。
たぶんノキアのっぽい。
エミュででました。


897:デフォルトの名無しさん
05/10/25 23:11:18
>>896 いや、そんな小出しじゃなくて
・そもそも変換ってどういうことをしようとしてるの?
・入力したコマンド(バッチがあればその部分)をコピペしる!
・JDKとJ2MEのバージョンは何よ?
・エミュってezplusTools?EZAppli_SDK?
・クラスライブラリはどれ使ってる?
・そもそも環境変数Path及びJAVA_HOMEの値は設定してる?

と、そういう感じの詳細な情報が欲しい。
他人のPCの中身じゃ状況がワカランから答えようが無いです。

898:デフォルトの名無しさん
05/10/26 00:00:11
>>896
まず環境を書き込み汁

899:デフォルトの名無しさん
05/10/26 09:29:45
なんか教えて君に優しい人がいるなぁ
優しい人が相手してくれてるうちに↓を読んだ方がいいよ>質問者
URLリンク(www.geocities.co.jp)

900:894
05/10/26 13:27:46
アプリを動かそうとすると、
エラーがいつもでます。
これはなにがいけないんでしょうか?

901:デフォルトの名無しさん
05/10/26 14:04:03
>>900
                             |
                             |
      ∩___∩             |
      | ノ  _,  ,_ ヽ        ((  | プラプラ
     /  ●   ● |         (=)
     |    ( _●_)  ミ _ (⌒)   J  ))
    彡、   |∪|  ノ
⊂⌒ヽ /    ヽノ  ヽ /⌒つ
  \ ヽ  /         ヽ /
   \_,,ノ      |、_ノ


902:デフォルトの名無しさん
05/10/26 14:47:36
>>900
クマー

903:900
05/10/26 15:31:40
アプリを動かそうとすると、
エラーがいつもでます。
これはなにがいけないんでしょうか?

904:889
05/10/26 16:04:58
256から3GのコンバートはJAD/マニフェストファイルにお教えいただいたとおり下記3つを記載するだけでうまくダウンロードでき問題の音楽もなりました(SH903)(JAD/マニフェストファイルの設定が問題であったようです)
・MIDlet-Permissions : javax.microedition.io.Connector.http
・MIDxlet-API : JSCL-1.2.2
・MIDxlet-ScreenSize : 0,0

また、もともとエミュレータでも動作しませんでしたが、基本的にはそちらも動作いたしました。結果としてエミュレータでは音楽はなりませんでしたので(SMAFロード時に例外処理発生)やはり「JSCL 1.2.2 SDK 1.0.1」のエミュレータ側には完全動作しない問題があるようです。

いろいろココでご教授いただき本当に助かりました。改めてお礼を申し上げます。
ありがとうございました。


905:889
05/10/26 16:11:57
今回256のアプリを3G端末への移植を行いましたが
さらに疑問点が2つ発生しました。

1.3G用にアップロードしたものをP6端末で動作させてみると動作しました。
  (なぜ動くのかがちょっと判りません JSCL-1.2.2のみで動いている??)

2.256では快適に動作していた部分がなぜか3Gでは動作が遅くなっている
  部分があります。

  具体例
   画面切り替え時に(ゲーム終了からタイトルに戻ったような場合)
   最初3〜4秒ほどキーのレスポンスが悪くなります。その後は正常に
   動作し始めます。

   これは903SHの問題なのか3G端末全般の問題なのかがわからず悩んでいます
   (256と全く同じソースですJSCL-1.2.2で作成)
   予測として、タイトル画面に戻るたびに
    Image.createImageしておりこれが問題なのでしょうか??
      (9イメージ合計5.23KB)
  (全て透過あり)
  (16色PNG、16色以上PNG混在)

当方に確認端末が無くあまり面識のない方に動作確認をご協力いただいている為、本件を質問させていただいています。(確認に使用した端末903SH)
重ね重ね誠に恐縮いたしますが、もし何かご存知の方いらっしゃいましたら、ご教授いただけないでしょうか?よろしくお願い致します。(長文失礼いたします。)

906:897
05/10/26 16:13:22
>>900 もう釣られんからな!

907:Voda専 = 892
05/10/26 20:00:52
>>905
1.公式CPが使うサーバーにアプリを転送し、そこからダウンロードを行っている場合。
MicroEdition-Profile : MIDP-2.0の記述がjadにあると、P6型端末からのアクセスの際は、
「指定されたコンテンツは、お客様の機種ではご利用できません(Code1012)」で弾かれる。

よって、Vodafone 3GのアプリがP6型でも動作する可能性は、以下の通り
(1)Jad中のMicroEdition-Profile属性の記述が無いか、MIDP-1.0である。
(2)公式CPが使うアプリサーバーからの転送ではない。

2.リソースファイル読み込み時にcreate.Imageを使っているが、リソース読み込みをtry,catchで括ってやれば、問題なし。
当方では802SH,902SH,903SH,902T,903Tで検証済み。

非同期メソッドが発生して、動作がモタツク原因として、一番考えられるのは、
レコードストアデータセットに対し、[レコードストアオープン->書き込み->レコードストアクローズ]を、複数回行ってないかという問題。
従来機と違い、Vodafone 3G機(特にSH系)はレコードストアへの読み込み/書き出しが劇遅なので注意。

従来機は、アプリ起動時にレコードストア内容をヒープにコピーし、それに対して読み書きを行って、
アプリ終了時にレコードストア本体に書き戻す動作を行うのに対し、
Vodafone 3G機はその都度、レコードストア本体にアクセスするため。


908:デフォルトの名無しさん
05/10/26 20:52:20
>>897
すみません。
変換といっても、ただ海外サイトにおちてるjarファイルとjadファイルを混ぜてkjxにするだけです。

kjx.bat
c:\j2sdk1.4.2_08\bin\java -jar C:\ezplusTools\Tools\CmdTool\KJXArchiver.jar -c %1.jad %1.jar %1.kjx
で、プロンプトで「kjx アプリの名前」といれると変換されるというものです。
エミュは3.0のやつです。

>>899
はい?教えてクンなんかじゃないですよ。
ちゃんと関連する言葉等、一時間以上検索してもでてこないからここに来たんです。

>>900>>903
  三|三
  イ `<             ,..-─- 、         _|_
   ̄             /. : : : : : : : : : \        |_ ヽ
   ∧           /.: : : : : : : : : : : : : : ヽ      (j  )
   /  \        ,!::: : : :,-…-…-ミ: : : : :',
              {:: : : : :i '⌒'  '⌒' i: : : : :}     _ヽ_∠
  └┼┘          {:: : : : | ェェ  ェェ |: : : : :}       lニl l |
.   |_|_|  , 、      { : : : :|   ,.、   |:: : : :;!      l─| l 亅
   __   ヽ ヽ.  _ .ヾ: :: :i r‐-ニ-┐ | : : :ノ        _
    /     }  >'´.-!、 ゞイ! ヽ 二゙ノ イゞ‐′      l  `ヽ
   ´⌒)    |    −!   \` ー一'´丿 \       l/⌒ヽ
    -'    ノ    ,二!\   \___/   /`丶、      _ノ
        /\  /    \   /~ト、   /    l \
       / 、 `ソ!      \/l::::|ハ/     l-7 _ヽ
      /\  ,へi    ⊂ニ''ー-ゝ_`ヽ、    |_厂 _゙:、
      ∧   ̄ ,ト|    >‐- ̄`    \.  | .r'´  ヽ、
     ,ヘ \_,. ' | |    丁二_     7\、|イ _/ ̄ \
     i   \   ハ       |::::|`''ー-、,_/  /\_  _/⌒ヽ

909:デフォルトの名無しさん
05/10/26 21:02:47
>>908
いや、だからその情報の開示の仕方が「教えてクン」なんだってばさ。
この繰り返しじゃ有用なレス付かないよ。

以下897と同文...


910:デフォルトの名無しさん
05/10/26 22:20:33
というかjavaはできないのでクラスとか全然わからないんですが

911:デフォルトの名無しさん
05/10/26 22:42:45
>>90
                             |
                             |
      ∩___∩             |
      | ノ  _,  ,_ ヽ        ((  | プラプラ
     /  ●   ● |         (=)
     |    ( _●_)  ミ _ (⌒)   J  ))
    彡、   |∪|  ノ
⊂⌒ヽ /    ヽノ  ヽ /⌒つ
  \ ヽ  /         ヽ /
   \_,,ノ      |、_ノ

912:デフォルトの名無しさん
05/10/27 00:14:27
>>911
先を間違えているぞ


                             |
                             |
      ∩___∩             |
      | ノ  _,  ,_ ヽ        ((  | プラプラ
     /  ●   ● |         (=)
     |    ( _●_)  ミ _ (⌒)   J  )) >>910
    彡、   |∪|  ノ
⊂⌒ヽ /    ヽノ  ヽ /⌒つ
  \ ヽ  /         ヽ /
   \_,,ノ      |、_ノ

913:デフォルトの名無しさん
05/10/27 11:05:37
>ただ海外サイトにおちてるjarファイルとjadファイルを混ぜてkjx
この時点で何か決定的な勘違いをしてる気がするが、もう釣られないと心に誓ったのでこれ以上は何も言わない。

914:デフォルトの名無しさん
05/10/27 12:23:16
俺はすぐ気付いて釣られなかったので勝組

あ、釣られたw

915:デフォルトの名無しさん
05/10/27 12:40:29
ここは半年前のインターネッツですね

916:デフォルトの名無しさん
05/10/27 13:40:52
>>894=908はとりあえずどっかのサイトにあったkjx.batをとってきて
jarファイルの作り方だけ見て自分の環境に合うjarを作りたい教えて君
javaはおろかプログラミング言語のことなんか全然わからなくって
当然>>897の言ってる事もよく分かっていない
さらに上級テクニックの応用編 はい?教えてクンなんかじゃないですよ。
なんて台詞まで飛び出す始末だw
ちゃんと関連する言葉等、一時間以上検索してもでてこないからここに来たんです。
もそんなことはもう試しました。の応用にすぎない

とりあえずjavaの基礎から教えてくれる人はここにはいません(いてもスレ違い)
最低でも>>897の質問に全部答えられるようになってから来てください

917:デフォルトの名無しさん
05/10/27 15:07:16
JSCL1.2を使用してVアプリの開発を行っています。

Vアプリの中で描画を行ったオフスクリーンイメージをPNGデータにしたいのですが、
ImageEncoderクラスのencodeOffscreenメソッドでjava.lang.RuntimeExceptionが発生します。

JSCLのドキュメントでは、この例外の発生条件は

『PNG エンコード、または setJpegOption() で圧縮レベルを QUALITY_NORMAL
 または QUALITY_FINE に設定した JPEG のエンコードで、 エンコード後のサイズが機器の
 ファイル保存サイズの上限を超えた場合』

とのことなんですが、
機器のファイル保存サイズの上限って何のことを指すのでしょうか?
ヒープ容量はまだ十分に空いているのですが。

エミュレータのみでしか動作確認ができないのですが、
エミュレータでは動作しないとか?


ソースはこんな感じです。

ImageEncoder imgEnc = ImageEncoder.createEncoder( ImageEncoder.FORMAT_PNG );
byte [] data = imgEnc.encodeOffsetscreen( image, 0, 0, image.getWidth(), image.getHeight() );


FORMAT_PNGをFORMAT_JPEGにすると正常に動作します。
エンコードのサイズを小さくしても、PNGだと例外が発生します。


どなたか、情報お持ちの方いませんか?



918:デフォルトの名無しさん
05/10/27 16:37:46
>>917
例外の発生条件の文が勘違いしやすいね。ここで区切って。
・PNG エンコード、
または
・setJpegOption() で圧縮レベルを QUALITY_NORMAL または QUALITY_FINE に設定した JPEG のエンコードで、エンコード後のサイズが機器のファイル保存サイズの上限を超えた場合

つまりPNGエンコードはサポートしていない。

919:デフォルトの名無しさん
05/10/27 19:07:29
>>916
とりあえずおまえはjarとKJXの違いを理解しような

920:デフォルトの名無しさん
05/10/27 20:28:07
まず>>908>>897の質問に答えれるようにしような。
その程度は教えてくれないと誰も助言出来ないと思うよ

921:917
05/10/27 22:53:22
>>918
そうなんですか・・・
どうもありがとうございます。

PNGエンコできるなら、チャンクいじって透過色持ったまま、イメージの回転データとか
作れると思ったんだけどねぇ。

やっぱ左右反転とか回転イメージもデータとして持たないとダメみたいですね。



922:デフォルトの名無しさん
05/10/28 00:36:45
クマー

923:918
05/10/28 03:20:30
>>921=917
GraphicsUtilで透過PNGダメだったのか?

924:917
05/10/28 19:26:41
>>923
あら、出来ちゃいました。
GraphicsUtil.drawRegionで、キャンバスに直接描けば良かったんですね。

画像反転させて、Imageを作ることばっか考えてたもんで、
drawRegionでImageに描画して、透過しねー!って思ってました。



925:デフォルトの名無しさん
05/10/29 15:42:59
MIDP2.0 でのフルスクリーンの仕方がわかりません。
Canvas.setFullScreenMode(true);
というのを書き込んでみたんですが、
<identifier> がありません。
といわれてしまいます。

926:デフォルトの名無しさん
05/10/29 16:06:13


もうすぐ『JavaOne』 

URLリンク(jp.sun.com)

927:908
05/10/30 13:08:34
アプリが変換できません
釣りじゃありません
信じてください
海外サイトにおちてるjarファイルとjadファイルを混ぜてkjxを作りたいんです

928:デフォルトの名無しさん
05/10/30 13:37:23
>>908もなかなか失礼だったが、>>908を荒らしに見立てようと必死なやつがいるな

どっちもさっさと消えろ


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4957日前に更新/291 KB
担当:undef