zhaoyadi 2 жил өмнө
parent
commit
0fe9c52fcd

+ 0 - 11
kit/src/main/java/com/tencent/liteav/demo/superplayer/SuperPlayerDef.java

@@ -15,17 +15,6 @@ public class SuperPlayerDef {
         END         // 结束播放
     }
 
-    public enum PlayerType {
-        VOD,        // 点播
-        LIVE,       // 直播
-        LIVE_SHIFT  // 直播会看
-    }
-
-    public enum Orientation {
-        LANDSCAPE,  // 横屏
-        PORTRAIT    // 竖屏
-    }
-
     public enum TimeoutState {
         RUNNING,
         TIMEOUT,

+ 3 - 42
kit/src/main/java/com/tencent/liteav/demo/superplayer/SuperPlayerView.java

@@ -14,14 +14,12 @@ import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.ViewGroup;
 import android.widget.RelativeLayout;
-import android.widget.Toast;
 
 
 import com.tencent.liteav.demo.superplayer.player.ISuperPlayerListener;
 import com.tencent.liteav.demo.superplayer.player.SuperPlayer;
 import com.tencent.liteav.demo.superplayer.player.SuperPlayerImpl;
 import com.tencent.liteav.demo.superplayer.player.SuperPlayerObserver;
-import com.tencent.liteav.demo.superplayer.util.NetWatcher;
 import com.tencent.liteav.demo.superplayer.ui.player.FullScreenPlayer;
 import com.tencent.liteav.demo.superplayer.ui.player.Player;
 import com.tencent.liteav.demo.superplayer.ui.player.WindowPlayer;
@@ -48,7 +46,7 @@ public class SuperPlayerView extends RelativeLayout {
     private LayoutParams mVodControllerFullScreenParams;  // 全屏controller的布局参数
 
     private OnSuperPlayerViewCallback mPlayerViewCallback;             // SuperPlayerView回调
-    private NetWatcher mWatcher;                        // 网络质量监视器
+
     private SuperPlayer mSuperPlayer;                    // 超级播放器
 
     private SuperPlayerModel mCurrentSuperPlayerModel;        // 当前正在播放的SuperPlayerModel
@@ -157,11 +155,6 @@ public class SuperPlayerView extends RelativeLayout {
                 }
             }
         });
-
-        if (mWatcher == null) {
-            mWatcher = new NetWatcher(mContext);
-        }
-
     }
 
     public void setupModelList(List<SuperPlayerModel> models) {
@@ -250,9 +243,6 @@ public class SuperPlayerView extends RelativeLayout {
      */
     public void stopPlay() {
         mSuperPlayer.stop();
-        if (mWatcher != null) {
-            mWatcher.stop();
-        }
     }
 
     /**
@@ -342,11 +332,6 @@ public class SuperPlayerView extends RelativeLayout {
         @Override
         public void onPause() {
             mSuperPlayer.pause();
-            if (mSuperPlayer.getPlayerType() != SuperPlayerDef.PlayerType.VOD) {
-                if (mWatcher != null) {
-                    mWatcher.stop();
-                }
-            }
         }
 
         @Override
@@ -503,21 +488,15 @@ public class SuperPlayerView extends RelativeLayout {
             mWindowPlayer.updatePlayState(SuperPlayerDef.PlayerState.INIT);
             mFullScreenPlayer.updatePlayState(SuperPlayerDef.PlayerState.INIT);
             actonOfPreloadOnPlayPrepare();
-            // 清空关键帧和视频打点信息
-            if (mWatcher != null) {
-                mWatcher.stop();
-            }
         }
 
         @Override
         public void onPlayBegin(String name) {
             mWindowPlayer.updatePlayState(SuperPlayerDef.PlayerState.PLAYING);
             mFullScreenPlayer.updatePlayState(SuperPlayerDef.PlayerState.PLAYING);
+
             updateTitle(name);
             mWindowPlayer.hideBackground();
-            if (mWatcher != null) {
-                mWatcher.exitLoading();
-            }
             notifyCallbackPlaying();
         }
 
@@ -548,9 +527,6 @@ public class SuperPlayerView extends RelativeLayout {
                 mWindowPlayer.updatePlayState(SuperPlayerDef.PlayerState.LOADING);
                 mFullScreenPlayer.updatePlayState(SuperPlayerDef.PlayerState.LOADING);
             }
-            if (mWatcher != null) {
-                mWatcher.enterLoading();
-            }
         }
 
         @Override
@@ -563,16 +539,11 @@ public class SuperPlayerView extends RelativeLayout {
 
         @Override
         public void onSeek(int position) {
-            if (mSuperPlayer.getPlayerType() != SuperPlayerDef.PlayerType.VOD) {
-                if (mWatcher != null) {
-                    mWatcher.stop();
-                }
-            }
+
         }
 
         @Override
         public void onError(int code, String message) {
-            showToast(message);
             notifyCallbackPlayError(code);
         }
 
@@ -584,16 +555,6 @@ public class SuperPlayerView extends RelativeLayout {
         }
     }
 
-    ;
-
-    private void showToast(String message) {
-        Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show();
-    }
-
-    private void showToast(int resId) {
-        Toast.makeText(mContext, resId, Toast.LENGTH_SHORT).show();
-    }
-
     /**
      * 通知播放开始,降低圈复杂度,单独提取成一个方法
      */

+ 0 - 18
kit/src/main/java/com/tencent/liteav/demo/superplayer/player/SuperPlayer.java

@@ -36,11 +36,6 @@ public interface SuperPlayer {
      */
     void resume();
 
-    /**
-     * 恢复直播播放,从直播时移播放中,恢复到直播播放。
-     */
-    void resumeLive();
-
     /**
      * 停止播放
      */
@@ -67,12 +62,8 @@ public interface SuperPlayer {
 
     void seek(int position);
 
-    void snapshot(TXLivePlayer.ITXSnapshotListener listener);
-
     void setRate(float speedLevel);
 
-    void setMirror(boolean isMirror);
-
     String getPlayURL();
 
     /**
@@ -93,15 +84,6 @@ public interface SuperPlayer {
      */
     SuperPlayerDef.PlayerState getPlayerState();
 
-    /**
-     * 获取当前播放器类型
-     *
-     * @return {@link SuperPlayerDef.PlayerType#LIVE  }     直播
-     * {@link SuperPlayerDef.PlayerType#LIVE_SHIFT  }       直播时移
-     * {@link SuperPlayerDef.PlayerType#VOD  }              点播
-     */
-    SuperPlayerDef.PlayerType getPlayerType();
-
     /**
      * 设置播放器状态回调
      *

+ 38 - 179
kit/src/main/java/com/tencent/liteav/demo/superplayer/player/SuperPlayerImpl.java

@@ -38,15 +38,12 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
     private TXVodPlayer mVodPlayer;       // 点播播放器
     private TXVodPlayConfig mVodPlayConfig;   // 点播播放器配置
 
-    private TXLivePlayer mLivePlayer;      // 直播播放器
-    private TXLivePlayConfig mLivePlayConfig;  // 直播播放器配置
-
     private ISuperPlayerListener mSuperPlayerListener;
     private SuperPlayerModel mCurrentModel;  // 当前播放的model
     private SuperPlayerObserver mObserver;
-    private SuperPlayerDef.PlayerType mCurrentPlayType = SuperPlayerDef.PlayerType.VOD;       // 当前播放类型
     private SuperPlayerDef.PlayerMode mCurrentPlayMode = SuperPlayerDef.PlayerMode.WINDOW;    // 当前播放模式
-    private SuperPlayerDef.PlayerState mCurrentPlayState = SuperPlayerDef.PlayerState.INIT;  // 当前播放状态
+    private SuperPlayerDef.PlayerState mCurrentPlayState = SuperPlayerDef.PlayerState.INIT;
+
     private String mCurrentPlayVideoURL;    // 当前播放的URL
     private int mSeekPos;                   // 记录切换硬解时的播放时间
     private float mStartPos;                // 视频开始播放时间
@@ -84,19 +81,12 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
                 break;
             case TXLiveConstants.PLAY_ERR_NET_DISCONNECT:
             case TXLiveConstants.PLAY_EVT_PLAY_END:
-                if (mCurrentPlayType == SuperPlayerDef.PlayerType.LIVE_SHIFT) {  // 直播时移失败,返回直播
-                    mLivePlayer.resumeLive();
-                    updatePlayerType(SuperPlayerDef.PlayerType.LIVE);
-                    onError(SuperPlayerCode.LIVE_SHIFT_FAIL, "时移失败,返回直播");
-                    updatePlayerState(SuperPlayerDef.PlayerState.PLAYING);
+                stop();
+                updatePlayerState(SuperPlayerDef.PlayerState.END);
+                if (event == TXLiveConstants.PLAY_ERR_NET_DISCONNECT) {
+                    onError(SuperPlayerCode.NET_ERROR, "网络不给力,点击重试");
                 } else {
-                    stop();
-                    updatePlayerState(SuperPlayerDef.PlayerState.END);
-                    if (event == TXLiveConstants.PLAY_ERR_NET_DISCONNECT) {
-                        onError(SuperPlayerCode.NET_ERROR, "网络不给力,点击重试");
-                    } else {
-                        onError(SuperPlayerCode.LIVE_PLAY_END, param.getString(TXLiveConstants.EVT_DESCRIPTION));
-                    }
+                    onError(SuperPlayerCode.LIVE_PLAY_END, param.getString(TXLiveConstants.EVT_DESCRIPTION));
                 }
                 break;
             case TXLiveConstants.PLAY_EVT_PLAY_LOADING:
@@ -233,7 +223,7 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
     private void initialize(Context context, TXCloudVideoView videoView) {
         mContext = context;
         mVideoView = videoView;
-        initLivePlayer(mContext);
+
         initVodPlayer(mContext);
     }
 
@@ -263,24 +253,6 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
         mVodPlayer.setMirror(config.mirror);
     }
 
-    /**
-     * 初始化直播播放器
-     *
-     * @param context
-     */
-    private void initLivePlayer(Context context) {
-        mLivePlayer = new TXLivePlayer(context);
-        SuperPlayerGlobalConfig config = SuperPlayerGlobalConfig.getInstance();
-        mLivePlayConfig = new TXLivePlayConfig();
-        mLivePlayConfig.setHeaders(config.headers);
-        mLivePlayer.setConfig(mLivePlayConfig);
-        mLivePlayer.setRenderMode(config.renderMode);
-        mLivePlayer.setRenderRotation(TXLiveConstants.RENDER_ROTATION_PORTRAIT);
-        mLivePlayer.setPlayListener(this);
-        mLivePlayer.enableHardwareDecode(config.enableHWAcceleration);
-        mLivePlayer.setMute(config.mute);
-    }
-
     /**
      * 播放视频
      *
@@ -300,17 +272,12 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
             onError(SuperPlayerCode.PLAY_URL_EMPTY, "播放视频失败,播放链接为空");
             return;
         }
-        if (isRTMPPlay(videoURL)) { // 直播播放器:普通RTMP流播放
-            mReportLiveStartTime = System.currentTimeMillis();
-            mLivePlayer.setPlayerView(mVideoView);
-            playLiveURL(videoURL, TXLivePlayer.PLAY_TYPE_LIVE_RTMP);
-        } else { // 点播播放器:播放点播文件
-            mReportVodStartTime = System.currentTimeMillis();
-            mVodPlayer.setPlayerView(mVideoView);
-            playVodURL(videoURL);
-        }
-        boolean isLivePlay = (isRTMPPlay(videoURL) || isFLVPlay(videoURL));
-        updatePlayerType(isLivePlay ? SuperPlayerDef.PlayerType.LIVE : SuperPlayerDef.PlayerType.VOD);
+
+        // 点播播放器:播放点播文件
+        mReportVodStartTime = System.currentTimeMillis();
+        mVodPlayer.setPlayerView(mVideoView);
+        playVodURL(videoURL);
+
         updatePlayProgress(0, model.duration);
     }
 
@@ -325,23 +292,6 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
         }
     }
 
-    /**
-     * 播放直播URL
-     */
-    private void playLiveURL(String url, int playType) {
-        mCurrentPlayVideoURL = url;
-        if (mLivePlayer != null) {
-            mLivePlayer.setPlayListener(this);
-            mLivePlayer.setPlayerView(mVideoView);
-            int result = mLivePlayer.startPlay(url, playType); // result返回值:0 success;  -1 empty url; -2 invalid url; -3 invalid playType;
-            if (result != 0) {
-                Log.e(TAG, "playLiveURL videoURL:" + url + ",result:" + result);
-            } else {
-                updatePlayerState(SuperPlayerDef.PlayerState.PLAYING);
-            }
-        }
-    }
-
     /**
      * 播放点播url
      */
@@ -386,18 +336,6 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
         return majorVer > SUPPORT_MAJOR_VERSION || (majorVer == SUPPORT_MAJOR_VERSION && minorVer >= SUPPORT_MINOR_VERSION);
     }
 
-    /**
-     * 配置多码流url
-     *
-     * @param url
-     */
-    private void startMultiStreamLiveURL(String url) {
-        mLivePlayConfig.setAutoAdjustCacheTime(false);
-        mLivePlayConfig.setMaxAutoAdjustCacheTime(5);
-        mLivePlayConfig.setMinAutoAdjustCacheTime(5);
-        mLivePlayer.setConfig(mLivePlayConfig);
-    }
-
     /**
      * 上报播放时长
      */
@@ -426,17 +364,6 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
         }
     }
 
-    /**
-     * 更新播放类型
-     *
-     * @param playType
-     */
-    private void updatePlayerType(SuperPlayerDef.PlayerType playType) {
-        if (playType != mCurrentPlayType) {
-            mCurrentPlayType = playType;
-        }
-    }
-
     /**
      * 更新播放状态
      *
@@ -510,56 +437,33 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
 
     @Override
     public void restart() {
-        if (mCurrentPlayType == SuperPlayerDef.PlayerType.LIVE || mCurrentPlayType == SuperPlayerDef.PlayerType.LIVE_SHIFT) {
-            if (isRTMPPlay(mCurrentPlayVideoURL)) {
-                playLiveURL(mCurrentPlayVideoURL, TXLivePlayer.PLAY_TYPE_LIVE_RTMP);
-            }
+        if (mCurrentPlayVideoURL != null) {
+            playVodURL(mCurrentPlayVideoURL);
         } else {
-            if (mCurrentPlayVideoURL != null) {
-                playVodURL(mCurrentPlayVideoURL);
-            } else {
-                playWithModel(mCurrentModel);
-            }
+            playWithModel(mCurrentModel);
         }
     }
 
     @Override
     public void pause() {
-        if (mCurrentPlayType == SuperPlayerDef.PlayerType.VOD) {
-            mVodPlayer.pause();
-        } else {
-            mLivePlayer.pause();
-        }
+        mVodPlayer.pause();
         updatePlayerState(SuperPlayerDef.PlayerState.PAUSE);
     }
 
     @Override
     public void pauseVod() {
-        if (mCurrentPlayType == SuperPlayerDef.PlayerType.VOD) {
-            mVodPlayer.pause();
-        }
+        mVodPlayer.pause();
         updatePlayerState(SuperPlayerDef.PlayerState.PAUSE);
     }
 
     @Override
     public void resume() {
-        if (mCurrentPlayType == SuperPlayerDef.PlayerType.VOD) {
-            isNeedResume = true;
-            if (isPrepared) {
-                mVodPlayer.resume();
-            }
-        } else {
-            mLivePlayer.resume();
+        isNeedResume = true;
+        if (isPrepared) {
+            mVodPlayer.resume();
         }
-        updatePlayerState(SuperPlayerDef.PlayerState.PLAYING);
-    }
 
-    @Override
-    public void resumeLive() {
-        if (mCurrentPlayType == SuperPlayerDef.PlayerType.LIVE_SHIFT) {
-            mLivePlayer.resumeLive();
-        }
-        updatePlayerType(SuperPlayerDef.PlayerType.LIVE);
+        updatePlayerState(SuperPlayerDef.PlayerState.PLAYING);
     }
 
     @Override
@@ -581,11 +485,6 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
             mVodPlayer.setVodListener(null);
             mVodPlayer.stopPlay(false);
         }
-        if (mLivePlayer != null) {
-            mLivePlayer.setPlayListener(null);
-            mLivePlayer.stopPlay(false);
-            mVideoView.removeVideoView();
-        }
         reportPlayTime();
     }
 
@@ -604,75 +503,40 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
 
     @Override
     public void enableHardwareDecode(boolean enable) {
-        if (mCurrentPlayType == SuperPlayerDef.PlayerType.VOD) {
-            mVodPlayer.enableHardwareDecode(enable);
-            if (mCurrentPlayState != SuperPlayerDef.PlayerState.END) {
-                mChangeHWAcceleration = true;
-                mSeekPos = (int) mVodPlayer.getCurrentPlaybackTime();
-                Log.i(TAG, "save pos:" + mSeekPos);
-                resetPlayer();
-                playModeVideo(mCurrentModel);
-            }
-        } else {
-            mLivePlayer.enableHardwareDecode(enable);
-            playWithModel(mCurrentModel);
+        mVodPlayer.enableHardwareDecode(enable);
+        if (mCurrentPlayState != SuperPlayerDef.PlayerState.END) {
+            mChangeHWAcceleration = true;
+            mSeekPos = (int) mVodPlayer.getCurrentPlaybackTime();
+            Log.i(TAG, "save pos:" + mSeekPos);
+            resetPlayer();
+            playModeVideo(mCurrentModel);
         }
     }
 
     @Override
     public void setPlayerView(TXCloudVideoView videoView) {
         mVideoView = videoView;
-        if (mCurrentPlayType == SuperPlayerDef.PlayerType.VOD) {
-            mVodPlayer.setPlayerView(videoView);
-        } else {
-            mLivePlayer.setPlayerView(videoView);
-        }
+        mVodPlayer.setPlayerView(videoView);
+
     }
 
     @Override
     public void seek(int position) {
-        if (mCurrentPlayType == SuperPlayerDef.PlayerType.VOD) {
-            if (mVodPlayer != null) {
-                mVodPlayer.seek(position);
-                if (!mVodPlayer.isPlaying()) {
-                    mVodPlayer.resume();
-                }
-            }
-        } else {
-            updatePlayerType(SuperPlayerDef.PlayerType.LIVE_SHIFT);
-            if (mLivePlayer != null) {
-                mLivePlayer.seek(position);
+        if (mVodPlayer != null) {
+            mVodPlayer.seek(position);
+            if (!mVodPlayer.isPlaying()) {
+                mVodPlayer.resume();
             }
         }
+
         if (mObserver != null) {
             mObserver.onSeek(position);
         }
     }
 
-    @Override
-    public void snapshot(TXLivePlayer.ITXSnapshotListener listener) {
-        if (mCurrentPlayType == SuperPlayerDef.PlayerType.VOD) {
-            mVodPlayer.snapshot(listener);
-        } else if (mCurrentPlayType == SuperPlayerDef.PlayerType.LIVE) {
-            mLivePlayer.snapshot(listener);
-        } else {
-            listener.onSnapshot(null);
-        }
-    }
-
     @Override
     public void setRate(float speedLevel) {
-        if (mCurrentPlayType == SuperPlayerDef.PlayerType.VOD) {
-            mVodPlayer.setRate(speedLevel);
-        }
-
-    }
-
-    @Override
-    public void setMirror(boolean isMirror) {
-        if (mCurrentPlayType == SuperPlayerDef.PlayerType.VOD) {
-            mVodPlayer.setMirror(isMirror);
-        }
+        mVodPlayer.setRate(speedLevel);
     }
 
     @Override
@@ -690,11 +554,6 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
         return mCurrentPlayState;
     }
 
-    @Override
-    public SuperPlayerDef.PlayerType getPlayerType() {
-        return mCurrentPlayType;
-    }
-
     @Override
     public void setObserver(SuperPlayerObserver observer) {
         mObserver = observer;

+ 0 - 129
kit/src/main/java/com/tencent/liteav/demo/superplayer/util/NetWatcher.java

@@ -1,129 +0,0 @@
-package com.tencent.liteav.demo.superplayer.util;
-
-import android.app.AlertDialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.os.Handler;
-import android.os.Looper;
-import android.text.TextUtils;
-import android.util.Log;
-import android.widget.Toast;
-
-import com.tencent.rtmp.TXLivePlayer;
-
-import java.lang.ref.WeakReference;
-
-/**
- * 网络质量监视工具
- * <p>
- * 当loading次数大于等于3次时,提示用户切换到低清晰度
- */
-
-public class NetWatcher {
-
-    private final static int WATCH_TIME        = 30000; // 监控总时长ms
-    private final static int MAX_LOADING_TIME  = 10000; // 一次loading的判定时长ms
-    private final static int MAX_LOADING_COUNT = 3;     // 弹出切换清晰度提示框的loading总次数
-
-    private WeakReference<Context>      mContext;
-    private WeakReference<TXLivePlayer> mLivePlayer;    // 直播播放器
-    private String                      mPlayURL          = "";    // 播放的url
-    private int                         mLoadingCount     = 0;     // 记录loading次数
-    private long                        mLoadingTime      = 0;     // 记录单次loading的时长
-    private long                        mLoadingStartTime = 0;     // loading开始的时间
-    private boolean                     mWatching;              // 是否正在监控
-
-    public NetWatcher(Context context) {
-        mContext = new WeakReference<>(context);
-    }
-
-    /**
-     * 开始监控网络
-     *
-     * @param playUrl 播放的url
-     * @param player  播放器
-     */
-    public void start(String playUrl, TXLivePlayer player) {
-        mWatching = true;
-        mLivePlayer = new WeakReference<>(player);
-        mPlayURL = playUrl;
-        mLoadingCount = 0;
-        mLoadingTime = 0;
-        mLoadingStartTime = 0;
-        Log.w("NetWatcher", "net check start watch ");
-        Handler mainHandler = new Handler(Looper.getMainLooper());
-        mainHandler.postDelayed(new Runnable() {
-            @Override
-            public void run() {
-                Log.w("NetWatcher", "net check loading count = " + mLoadingCount + " loading time = " + mLoadingTime);
-                if (mLoadingCount >= MAX_LOADING_COUNT || mLoadingTime >= MAX_LOADING_TIME) {
-                    showSwitchStreamDialog();
-                }
-                mLoadingCount = 0;
-                mLoadingTime = 0;
-            }
-        }, WATCH_TIME);
-    }
-
-    /**
-     * 停止监控
-     */
-    public void stop() {
-        mWatching = false;
-        mLoadingCount = 0;
-        mLoadingTime = 0;
-        mLoadingStartTime = 0;
-        mPlayURL = "";
-        mLivePlayer = null;
-        Log.w("NetWatcher", "net check stop watch");
-    }
-
-    /**
-     * 开始loading计时
-     */
-    public void enterLoading() {
-        if (mWatching) {
-            mLoadingCount++;
-            mLoadingStartTime = System.currentTimeMillis();
-        }
-    }
-
-    /**
-     * 结束loading计时
-     */
-    public void exitLoading() {
-        if (mWatching) {
-            if (mLoadingStartTime != 0) {
-                mLoadingTime += System.currentTimeMillis() - mLoadingStartTime;
-                mLoadingStartTime = 0;
-            }
-        }
-    }
-
-    /**
-     * 弹出切换清晰度的提示框
-     */
-    private void showSwitchStreamDialog() {
-        final Context context = mContext.get();
-        if (context == null) return;
-        AlertDialog alertDialog = new AlertDialog.Builder(context).create();
-        alertDialog.setMessage("检测到您的网络较差,建议切换清晰度");
-        alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK",
-                new DialogInterface.OnClickListener() {
-                    public void onClick(DialogInterface dialog, int which) {
-                        TXLivePlayer player = mLivePlayer != null ? mLivePlayer.get() : null;
-                        String videoUrl = mPlayURL.replace(".flv", "_900.flv");
-                        if (player != null && !TextUtils.isEmpty(videoUrl)) {
-                            int result = player.switchStream(videoUrl);
-                            if (result < 0) {
-                                Toast.makeText(context, "切换高清清晰度失败,请稍候重试", Toast.LENGTH_SHORT).show();
-                            } else {
-                                Toast.makeText(context, "正在为您切换为高清清晰度,请稍候...", Toast.LENGTH_SHORT).show();
-                            }
-                        }
-                        dialog.dismiss();
-                    }
-                });
-        alertDialog.show();
-    }
-}