2013-08-20 6 views
5

私はvideoviewとmediacontrollerを使用して一時停止、巻き戻し、転送などのコントロールボタンを使用して動画を再生するためのアンドロイドコードを持っています。それは、ネクサスSだけでなく、多くのサムスンの携帯電話で動作しますが、mediacontrollerのボタンは、ネクサス7で動作しないようです!私はそれがすべてのデバイスで動作する必要があります。私は何か余分なことがありますか?mediacontrollerはnexus 7のタブでは機能しません

MediaController mediacontroller = new MediaController(Activity.this); 
mediacontroller.setAnchorView(videoview); 
Uri video = Uri.parse("path/to/video"); 
videoview.setMediaController(mediacontroller); 
videoview.setVideoURI(video); 
videoview.start(); 
+0

問題追跡ツールのリンク(現時点での回答はありません):https://code.google.com/p/android/issues/detail?id=59776 – Geobits

答えて

3

Unable to pause/forward/backward video using mediacontroller in androidでこの不具合が発生しました。いくつかのLGのデバイスもこの問題を抱えているようです。 代わりにSurfaceViewを使用します。@Vineela Yarlagaddaで述べたように

、あなたはネクサス7の&作品


代替ソリューションをテスト済み

@Override 
public boolean canSeekForward() { 
    return true; 
} 

@Override 
public boolean canSeekBackward() { 
    return true; 
} 

@Override 
public boolean canPause() { 
    return true; 
} 

以下VideoView方法をオーバーライドする必要がありますApiDemosのサンプルコードで提案されているVideoView。

setContentView(R.layout.media_player2); 
mSurface = (SurfaceView) findViewById(R.id.surface); 
holder = mSurface.getHolder(); 
holder.addCallback(this); 

mMediaPlayer = new MediaPlayer(); 
mMediaPlayer.setDataSource(stream); 
mMediaPlayer.setDisplay(holder); 
mMediaPlayer.prepareAsync(); 
mController = new MediaController(this); 
mMediaPlayer.setOnBufferingUpdateListener(this); 
mMediaPlayer.setOnCompletionListener(this); 
mMediaPlayer.setOnPreparedListener(this); 
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mController.setMediaPlayer(this); 
mController.setAnchorView(mSurface); 

私はVideoViewとプレーヤーを使用@kriswizと同じ問題に遭遇した後にバグcode.google.com/p/android/issues/detail?id=59776をオープンしました。動画はNexus 7とSamsung Nexusで再生されます。

+0

私はあなたと同じ投稿を見ました "一時停止/転送できません/アンドロイドでmediacontrollerを使用して後方の動画 "。それも試してみましたが、私のために働かなかった。 – kriswiz