讓變化成為計劃的一部分

          歡迎大家探討本Blog涉及的所有軟件課題。我的Google Talk ID:zhengyun(at)gmail.com。

          我最希望軟件帶給用戶的感受是:美好的體驗、舒適感、簡約、干凈...

          posts - 32, comments - 8, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

               摘要: [JavaME]手機同時播放兩個音樂 探討二 摘要: 本文檔以及后續(xù)文檔試圖一步一步地探討如何在手機上同時播放兩個聲音文件,譬如一個是背景音樂,一個是按鍵觸發(fā)的游戲音效。請慢慢看下去,我們盡量糅合進各方匯集的一些經(jīng)驗。 1探討適合Nokia的同步播放方法 摘要:本章 簡單描述如何在NokiaS60系列手機同時播放兩個音樂。   1.1. 使用nokia的專有類Sound ...  閱讀全文

          posted @ 2005-11-23 13:50 讓變化成為計劃的一部分 閱讀(576) | 評論 (0)編輯 收藏


          Table of contents
          [hide]

          posted @ 2005-11-23 10:25 讓變化成為計劃的一部分 閱讀(574) | 評論 (0)編輯 收藏

               摘要: [JavaME]手機同時播放兩個音樂 探討一 摘要: 本文檔以及后續(xù)文檔試圖一步一步地探討如何在手機上同時播放兩個聲音文件,譬如一個是背景音樂,一個是按鍵觸發(fā)的游戲音效。請慢慢看下去,我們盡量糅合進各方匯集的一些經(jīng)驗。 1背景 摘要:本章 簡單描述手機同時播放兩個音樂的背景。   1.1. 常見于各大J2ME論壇的這個問題 最近看到,不斷地有人再詢問同一類型的問題: ...  閱讀全文

          posted @ 2005-11-22 23:50 讓變化成為計劃的一部分 閱讀(1095) | 評論 (1)編輯 收藏

          摩托羅拉V300-V500-V600同時播放音樂的講究

          唯一支持的同步播放音樂的辦法是,midi和wav聲音混合播放。
          即使是這樣,也存在著一個限制:
          應(yīng)用程序必須先播放midi(可以作為背景音樂),然后再播放wav;wav文件還必須是以下的格式:
           PCM 8000KHZ;
           8Bit;
           Mono。

          除了上面這種方法,只要是一個新的media被播放,上一個Player必須被停止而且釋放資源。

          posted @ 2005-11-21 15:56 讓變化成為計劃的一部分 閱讀(431) | 評論 (0)編輯 收藏

              /*
               * javaME中一向沒有與StringTokenizer相對應(yīng)的類,Ostermiller提供了一個。他的util類包還有很多很多其他幫助類。
               * 你只需要將
                  
          http://ostermiller.org/utils/StringTokenizer.java.html中的
                  public class StringTokenizer implements java.util.Enumeration, java.util.Iterator {
                  
                  簡化為
                  public class StringTokenizer implements java.util.Enumeration{
                  。
                  即可立即在midlet中使用
                      String s = "  (   aaa  \t  * (b+c1 ))";
                      StringTokenizer st = new StringTokenizer(s, " \t\n\r\f", "()+*");
                      while (st.hasMoreTokens()) {
                          System.out.println(st.nextToken());
                  ,我經(jīng)過實際測試,得到了如下結(jié)果:
                  (
                  aaa
                  *
                  (
                  b
                  +
                  c1
                  )
                  )
               
          */

              String s 
          = "  (   aaa  \t  * (b+c1 ))";
              StringTokenizer st 
          = new StringTokenizer(s, " \t\n\r\f""()+*");
              
          while (st.hasMoreTokens()) {
                  System.out.println(st.nextToken());

          posted @ 2005-11-21 15:06 讓變化成為計劃的一部分 閱讀(328) | 評論 (0)編輯 收藏

               摘要: 不過,正像下面的帖子中談到的,Nokia 7650機型的問題是無法克服的,當你接電話時關(guān)閉了游戲,那么電話打完后你也無法啟動游戲了,除非重啟手機。  閱讀全文

          posted @ 2005-11-16 22:42 讓變化成為計劃的一部分 閱讀(510) | 評論 (1)編輯 收藏

          有點像手機英文輸入法中,按2一下代表a,連按兩下代表b,連續(xù)三下代表c。
          據(jù)說,你可以用timertask來做這件事情。

          我的一個設(shè)想是(未曾代碼試驗過,錯了請指出):

          用戶按鍵“1”,那么計數(shù)他按了多少下,根據(jù)他按的次數(shù)去你事先寫好的數(shù)組中查到是哪一個字符。如果用戶遲遲沒有再按下去,那么到了一定時間,就應(yīng)該確認他的輸入了,timer呢就調(diào)用confirmCharacter()。

          String[] values = {".,1","abc","def"... ...};
           
          keyPressed(keyCode) {
            int index = keyCode - KEY_NUM0;
            if(index == lastindex) charselected++;
            else lastindex = index;
             // here reset the key confirmation timer
           
             tempInputString+=values[index].char(charselected);
          }
           
          //When timer gets triggered, it calls this method
          void confirmCharacter() {
              inputString = tempInputString;
              lastindex = -1;
          }

          posted @ 2005-11-16 19:19 讓變化成為計劃的一部分 閱讀(310) | 評論 (0)編輯 收藏


          譬如說你是在一個Form上,那么有一點點不幸。
          據(jù)我所知,除非你在Form上加一個CustomItem,并且選中它,那么你的
          protected void keyPressed(int key) {
              System.out.println("Key pressed: "+key);
          }
          能夠打印出你的按鍵。
          但是如果你當前焦點在TextField或其他lcdui.Item,那么不可能截獲按鍵。

          如果我說錯了,請指出。

          譬如說你當前是在一個Canvas上,ok,
          To "catch" an event, just implement one of

          # showNotify()
          # hideNotify()
          # keyPressed()
          # keyRepeated()
          # keyReleased()
          # pointerPressed()
          # pointerDragged()
          # pointerReleased()

          如果你特地針對keyPressed,那么:
          public class MyCanvas extends Canvas {
            MyMIDlet midlet;  // the midlet reference
            public MyCanvas(MyMIDlet m) {
              midlet = m;
            }
            protected void keyPressed(int keyCode) {
              if (getGameAction(keyCode) == Canvas.FIRE) {
                midlet.firePressed();
              }
            }
          }

          不過,值得注意的是,手機的按鍵并不能保證個個都能拿到,而且上下左右之類的特定意義的按鍵也未見得都有,所以小心。

          posted @ 2005-11-16 18:44 讓變化成為計劃的一部分 閱讀(561) | 評論 (0)編輯 收藏

               摘要: 請參考java.util.TimerTask. TimerTask is something like Timer in VisualBasic. You can sepcify a time period in milliseconds for your requirement"一幅LOGO顯示完以后,幾秒種自動顯示下一幅LOGO". Here is an sample code. pu...  閱讀全文

          posted @ 2005-11-16 18:19 讓變化成為計劃的一部分 閱讀(497) | 評論 (0)編輯 收藏

               摘要: 上回說到申請動態(tài)IP是可以了,并且準備好了一個線程等候在socket://10.16.195.219:8110之類的端口上監(jiān)聽。

          這次把代碼修改了,完成了監(jiān)聽線程之后,就相當于起了一個Socket Server,一旦有人要連接它,就回復(fù)一個字符串說“God bless you!You are the No.”后面加上是第幾位訪問者的序號。

          菜單中也相應(yīng)加入了一個命令“聯(lián)系ServerSocket”,就是向界面中的"ServerSocket為:"編輯框所指明的Server發(fā)起Socket連接請求,看能否得到回復(fù);如果有回復(fù),就輸出到屏幕上。  閱讀全文

          posted @ 2005-11-16 16:29 讓變化成為計劃的一部分 閱讀(319) | 評論 (0)編輯 收藏

          僅列出標題
          共4頁: 上一頁 1 2 3 4 下一頁 
          主站蜘蛛池模板: 长乐市| 曲松县| 贡觉县| 丘北县| 吉木乃县| 错那县| 绿春县| 阿拉善盟| 塔河县| 宁国市| 中牟县| 正安县| 安阳市| 泰顺县| 寿阳县| 阿图什市| 略阳县| 南靖县| 清河县| 濮阳市| 伊通| 南陵县| 鲜城| 宁德市| 威远县| 旌德县| 新邵县| 华蓥市| 台南县| 武乡县| 左云县| 烟台市| 安福县| 鄂托克旗| 晋州市| 大姚县| 阳信县| 普安县| 罗田县| 嫩江县| 沈阳市|