私はVideoViewを使ってビデオファイルを再生しています。私はそれが中止されている場所からビデオを再生するためにseekTo関数を使用しています。しかし、シーク操作が終了したら、いくつかの操作をしたかったのです。そのためには、onSeekCompleteListenerを使用する必要があります。ただし、onSeekCompleteListenerはVideoViewではサポートされていません。 MediaPlayerで使用できます。私の質問は「VideoViewでonSeekCompleteListenerを使用できる方法はありますか」ということですか?あなたはこのようなイベントをリッスンすることができますandroid:onSeekCompleteListener with VideoView
4
A
答えて
9
public class ObservableVideoView extends VideoView
{
private IVideoViewActionListener mVideoViewListener;
private boolean mIsOnPauseMode = false;
public interface IVideoViewActionListener
{
void onPause();
void onResume();
void onTimeBarSeekChanged(int currentTime);
}
public void setVideoViewListener(IVideoViewActionListener listener)
{
mVideoViewListener = listener;
}
@Override
public void pause()
{
super.pause();
if (mVideoViewListener != null)
{
mVideoViewListener.onPause();
}
mIsOnPauseMode = true;
}
@Override
public void start()
{
super.start();
if (mIsOnPauseMode)
{
if (mVideoViewListener != null)
{
mVideoViewListener.onResume();
}
mIsOnPauseMode = false;
}
}
@Override
public void seekTo(int msec)
{
super.seekTo(msec);
if (mVideoViewListener != null)
{
mVideoViewListener.onTimeBarSeekChanged(msec);
}
}
public ObservableVideoView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public ObservableVideoView(Context context)
{
super(context);
}
public ObservableVideoView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
}
たくさん
ありがとう:
public class VideoPlayerActivity extends Activity
{
public static final String VIDEO_URL = "VideoUrl";
private String path = "";
private ObservableVideoView mVideoView;
@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.video_player_activity_layout);
mVideoView = (ObservableVideoView) findViewById(R.id.videoView1);
mVideoView.setMediaController(new MediaController(this));
mVideoView.setVideoViewListener(mVideoViewListener);
path = getIntent().getStringExtra(VIDEO_URL);
if (path == "")
{
Toast.makeText(this, "Please edit VideoViewDemo Activity, and set path" + " variable to your media file URL/path", Toast.LENGTH_LONG)
.show();
}
else
{
mVideoView.setVideoPath(path);
mVideoView.requestFocus();
mVideoView.start();
}
}
private IVideoViewActionListener mVideoViewListener = new IVideoViewActionListener()
{
@Override
public void onTimeBarSeekChanged(int currentTime)
{
//TODO what you want
}
@Override
public void onResume()
{
//TODO what you want
}
@Override
public void onPause()
{
//TODO what you want
}
};
}
1
Farhan、あなたは正しいですが、onSeekCompleteListenerはVideoViewでサポートされていません。
VideoViewクラスをコピーしてローカルにカスタマイズして、このサポートを自分で追加することができます。
my answer to 7990784でこれを行う方法を示します。
17
カスタムを作成する必要はありませんVideoView
あなたはVideoView
のonPrepared
方法からMediaPlayer
にアクセスして、OnSeekCompleteListener
を設定し、このようにすることができます:あなたはあなたの質問に対する解決策を持っている場合
mVideoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setOnSeekCompleteListener(new OnSeekCompleteListener() {
@Override
public void onSeekComplete(MediaPlayer mp) {
//TODO: Your code here
}
});
}
});
関連する問題
- 1. VideoView Animation
- 2. VideoViewルーピングビデオ
- 3. Resize VideoView
- 4. NookTablet Android - VideoView NullPointerException
- 5. アンドロイドVideoViewは
- 6. VideoView crop to square
- 7. VideoViewクリックリスナー不可
- 8. ListViewのVideoView
- 9. android videoview set path
- 10. VideoView in Fullscreen
- 11. VideoView&Fullscreen&Orientation changes - Android
- 12. seekTo()関数はVideoView
- 13. VideoView所要時間
- 14. アンドロイドvideoviewのをscaleMode
- 15. アンドロイドVideoViewレイアウト要素
- 16. VideoViewの点滅の問題
- 17. VIdeoViewをシャッフルできない
- 18. VideoViewでRTSPビデオを開く
- 19. Android VideoViewストリーミングの問題
- 20. videoview右側の空白
- 21. アンドロイドVideoView繰り返し
- 22. LinearLayoutの下にあるVideoView
- 23. Android MediaPlayer/VideoViewエラー(1、-2147483648)
- 24. Android VideoViewフルスクリーンとナビゲーションバーのオーバーラップコントロール
- 25. VideoView Androidのセンタービデオ再生ボタンバー
- 26. Android TextureViewとVideoViewのパフォーマンス
- 27. AndroidのVideoViewのRTSPストリーム
- 28. VideoViewでビデオをバッファリングする
- 29. Android Sync with timer
- 30. Macbook with java with java with
私は、同じ問題を抱えている - 私は喜んでいますよここまで答えは··· –
残念ながら、onSeekCompleteListenerはVideoViewで使用できません。また、なぜseekTo操作をサポートしている場合、これがVideoViewでサポートされていないのか理解できません。ここでの解決策は、onSeekCompleteListenerをMediaPlayerで使用できるため、VideoViewの代わりにMediaPlayerを使用することです。 VideoViewではなくMediaPlayerを使用して同じ機能を利用できます。これがあなたに役立つことを願っています.. – Farhan
あなたの答えはありがたいですが、私はあなたのオリジナルの質問に答えて書いています。 VideoView –