0

オーディオとビデオの両方の曲を再生する音楽プレーヤーアプリケーションを開発しました。再生、一時停止、曲の進行状況を示す進行状況バーなどの機能があり、その MusicPlayerActivity から戻ると、音楽はバックグラウンドで実行されています。曲を一時停止する別のアクティビティからのこの MusicPlayerActivity 、切り替えに Intent を使用しましたが、曲はバックグラウンドで再生されていますが、プログレスバーの値、つまり曲の再生量を取得していません。誰か助けてください、保存方法曲の長さと UI の状態。ヘルプ、チュートリアル、またはリンクを提供してください。前もって感謝します。

4

2 に答える 2

0

これらのチュートリアルをいくつか試してみてください。すべてのチュートリアルでプログレス バーが使用されています。

http://www.androidhive.info/2012/03/android-building-audio-player-tutorial/ https://github.com/commonsguy/vidtry/blob/master/src/com/commonsware/android/vidtry/ Player.java Android ProgressBar を確定モードで使用するにはどうすればよいですか?

于 2012-08-25T14:17:11.453 に答える
0

私のアプリケーションでは、バックグラウンド サービスとして音楽プレーヤーを実装しています。そのサービスでは、現在の位置に関する情報を提供するブロードキャスト メッセージを 500 ミリ秒ごとに送信します。プレーヤーが一時停止すると、メッセージの送信を停止します。そして、すべてのアクティビティで、このメッセージを聞くために登録するので、表示されているプレーヤーを更新できます。メッセージの送信には、バックグラウンド スレッドで実行されるハンドラーを使用します。

private Runnable mUpdateProgressRunnable = new Runnable() {

        @Override
        public void run() {
            if (mMediaPlayer != null && !mSeeking) {
                int duration = mMediaPlayer.getDuration();
                int currentPosition = mMediaPlayer.getCurrentPosition();
                Bundle params = new Bundle();
                params.putInt(Broadcaster.P_PLAYER_DURATION, duration);
                params.putInt(Broadcaster.P_PLAYER_POSITION, currentPosition);
                getRferl().getBroadcaster().send(Broadcaster.E_PLAYER_CURRENT_POSITION, params);
                mUpdateProgressHandler.postDelayed(this, 500);
            }
        }
    };

Rferl は私のアプリケーションで、Broadcaster は LocalBroadcastManager の単なるラッパーです

于 2012-08-25T14:21:40.200 に答える