0

画面表示が単独でまたは手動でオフになったときにmediacontrollerが一時停止するのを停止する方法はありますか。私のアプリはメディアコントローラーを使用してインターネットからオーディオファイルをストリーミングするため、画面がオフの場合でも再生を続ける必要があります。どんな助けでも大歓迎です。

これが私のmediacontrollerクラスのコードです:

import android.app.Activity;
import android.content.Context;
import android.view.KeyEvent;
import android.widget.MediaController;

public class WillMediaController extends MediaController {

    public WillMediaController(Context context) {
        super(context);
    }

    @Override
    public void hide() {
        // Do Nothing to show the controller all times

    }

    @Override
    public boolean dispatchKeyEvent(KeyEvent event)
    {
        if (event.getKeyCode() == KeyEvent.KEYCODE_BACK)
        {
            ((Activity) getContext()).finish();

        }else{
            super.dispatchKeyEvent(event);
        }
        if (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN ||
                event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) {
            // don't show the controls for volume adjustment
            return super.dispatchKeyEvent(event);
        }
        return true;


    }
}

ありがとう

4

1 に答える 1

0

アクティビティが一時停止したとき(つまり、画面が消えたとき)にMediaControllerが一時停止しないようにする方法があるかどうかはわかりませんが、いくつかのアイデアがあります。

まず、次の方法で、アクティビティで画面がタイムアウトしないようにすることができます。

getWindow().setFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
                     android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

ただし、これによって、ユーザーがロックボタンを押して手動で画面をオフにし、オーディオの再生を終了することを妨げることはおそらくありません。

次に、MediaPlayerを使用してサービスを作成し、オーディオストリームをバックグラウンドで再生し、アプリからの再生/一時停止コマンドに応答することができます:http: //developer.android.com/guide/topics/media/mediaplayer.html#mpandservices

于 2012-11-20T19:30:53.313 に答える