0

異なる Mediaplayer インスタンスで同時に 2 つのオーディオ ファイルを再生するアプリケーションを開発しています。メソッドを実装した画面の回転時にメディアプレーヤーの状態を保持するには

  public  Object  onRetainNonConfigurationInstance() 
             {
                    HashMap<String,Object> player = new HashMap<String,Object>();
                    MediaPlayer instance = mp;
                    mp = null;
                    MediaPlayer instance1 = mp1;
                    mp1 = null;
                    player.put("mp", instance);
                    player.put("mp1", instance1);
                     return player;

              }

onCreate() では、

    HashMap<String, Object> playerhandle = (HashMap<String, Object>)getLastNonConfigurationInstance();            
                  mp = (MediaPlayer)playerhandle.get("mp");
                      if (mp == null) 
                      {
                         mp = new MediaPlayer();
                       }
                      mp1 = (MediaPlayer)playerhandle.get("mp1");
                      if (mp1 == null) 
                      {
                        mp1 = new MediaPlayer();
                      }

logcat に NullPointerException を表示する........

4

1 に答える 1

0

かどうかを確認することはありませplayerhandlenull

于 2012-07-15T09:03:09.350 に答える