package com.ss.android.ugc.aweme.live.alphaplayer.player;

import android.view.Surface;
import com.bytedance.covode.number.Covode;
import com.ss.android.ugc.aweme.live.alphaplayer.model.VideoInfo;
import com.ss.android.ugc.aweme.live.alphaplayer.player.IMediaPlayer;

public interface IMediaPlayer<T extends IMediaPlayer> {
    static {
        Covode.recordClassIndex(91081);
    }

    int getCurrentPosition();

    String getPlayerSimpleName();

    VideoInfo getVideoInfo();

    void initMediaPlayer();

    boolean isPlaying();

    void pause();

    void prepareAsync();

    void release();

    void reset();

    void seekTo(int i);

    void setDataSource(String str);

    void setLooping(boolean z);

    void setOnCompletionListener(OnCompletionListener<T> onCompletionListener);

    void setOnErrorListener(OnErrorListener<T> onErrorListener);

    void setOnFirstFrameListener(OnFirstFrameListener<T> onFirstFrameListener);

    void setOnPreparedListener(OnPreparedListener<T> onPreparedListener);

    void setScreenOnWhilePlaying(boolean z);

    void setSurface(Surface surface);

    void start();

    void stop();
}
