2

こんにちは、Android メディア プレーヤーに問題があります。機能していますが、画面の向きを変更すると、メディアプレーヤーでの制御が失われます。つまり、最初は曲を一時停止して停止できますが、画面の向きが変わると曲は続行しますが、一時停止または停止できません。これは私が試したコードです(曲を生のフォルダーに入れました)

setContentView(R.layout.activity_medial_player);
        mp = new MediaPlayer();
playPause = (Button)findViewById(R.id.buttonPlay);
        playPause.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(mp.isPlaying()) {
                    if(mp!=null) {
                        System.out.println("*******");
                        mp.pause();
                    }
                } else {
                    if(mp!=null) {
                        System.out.println("#######");
                        mp.start();
                    }
                }
            }
        });

startSong= (Button)findViewById(R.id.buttonStart);
        pause.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//              mp.pause();
                playSong();
            }
        });

stop = (Button)findViewById(R.id.buttonStop);
        stop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mp.stop();
            }
        });
}


public void playSong() {
        try {
            mp.reset();
            mp = MediaPlayer.create(MedialPlayer.this, resId);
            mp.start();
        } catch(Exception e) {

        }
    }

私が使用するマニフェストでは:

android:configChanges="orientation|keyboard|keyboardHidden"

助けてください...

4

2 に答える 2

0

API レベルは?

アプリケーションが API レベル 13 以上 (minSdkVersion 属性と targetSdkVersion 属性で宣言) をターゲットにしている場合は、「screenSize」構成も宣言する必要があります。これは、デバイスが縦向きと横向きの間で切り替わったときにも変更されるためです。

android:configChanges="orientation|screenSize|keyboard|keyboardHidden"

ソース: http://developer.android.com/guide/topics/manifest/activity-element.html

于 2012-12-13T06:56:06.093 に答える