6

こんにちは/おはようございます!誰かが私が抱えている小さな問題で私を助けてくれることを願っています. VideoViewとカスタムを使用してリモート .mp3 ファイルを再生していますMediaController

私の MediaController は次のようになります。

public class MyMediaController extends MediaController {

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

// Do nothing on the overridden hide method so the playback controls will never go away.
@Override
public void hide() {

}

// Override the dispatchKeyEvent function to capture the back KeyEvent and tell the activity to finish.
@Override
public boolean dispatchKeyEvent(KeyEvent event)
{
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) 
    {
        ((Activity) getContext()).finish();
    }

    return super.dispatchKeyEvent(event);
}

}

そして、それを私のコードに添付するコードはVideoView次のようになります。

    VideoView videoView = (VideoView) findViewById(R.id.VideoView);

    // Use our own media controller, which inherits from the standard one. Do this to keep 
    // playback controls from disappearing.
    mediaController = new MyMediaController(this);
    mediaController.setAnchorView(videoView);

    Uri video = Uri.parse(URL);

    videoView.setMediaController(mediaController);
    videoView.setVideoURI(video);

    // Set a handler that will show the playback controls as soon as audio starts.
    videoView.setOnPreparedListener(new OnPreparedListener() {

        @Override
        public void onPrepared(MediaPlayer arg0) {

            mediaController.show();
        }

    });

    videoView.start();

私が抱えている問題は、.mp3 ファイルの再生が開始されると、オーディオが再生されていても、下部のコントロール バーに「一時停止」ボタン (2 つの平行棒) ではなく「再生」ボタン (三角形) が表示されることです。すでに遊んでいます。誰でもこれを修正する方法を知っていますか?

編集1:

リモート .mp3 を再生するための他のソリューションにも興味があります。私が持っている唯一の要件は、ユーザーがオーディオを一時停止/再生し、オーディオ ファイルの名前 (タイトル) を確認できることです。

ありがとうございました!

4

2 に答える 2

4

これを試してください:それは私の問題を解決しました.

mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mp) {
        mp.start();
        mMediaController.show();
    }
});
于 2015-04-13T05:22:10.087 に答える
0

単に:

@Override
        public void onPrepared(MediaPlayer arg0) {

         if (mediaController.isShowing==false) {mediaController.show();}
        }
于 2014-07-17T13:16:34.343 に答える