@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case EZConstants.EZRealPlayConstants.MSG_REALPLAY_PLAY_SUCCESS:
//播放成功
loadingAlertDialog.dismiss();
ToastUtil.toastShort(YSYActivity.this, "播放成功!");
try {
setRealPlaySvLayout();
} catch (InnerException e) {
e.printStackTrace();
} catch (PlaySDKException e) {
e.printStackTrace();
}
break;
default:
break;
}
}
};
private void setRealPlaySvLayout() throws InnerException, PlaySDKException {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int whdth = dm.widthPixels;
int height = dm.heightPixels;
mRealPlayTouchListener = new CustomTouchListener() {
@Override
public boolean canZoom(float v) {
return true;
}
@Override
public boolean canDrag(int i) {
return false;
}
@Override
public void onSingleClick() {
}
@Override
public void onDoubleClick(MotionEvent motionEvent) {
tvZoom.setVisibility(View.GONE);
}
@Override
public void onZoom(float v) {
}
@Override
public void onZoomChange(float v, CustomRect customRect, CustomRect customRect1) {
tvZoom.setVisibility(View.VISIBLE);
tvZoom.setText(v + "");
setPlayScaleUI(v, customRect, customRect1);
}
@Override
public void onDrag(int i, float v, float v1) {
}
@Override
public void onEnd(int i) {
tvZoom.setVisibility(View.GONE);
Logger.d("onEnd");
}
};
mRealPlayTouchListener.setSacaleRect(Constant.MAX_SCALE, 0, 0, whdth, height);
mRealPlaySv.setOnTouchListener(mRealPlayTouchListener);
}
private void setPlayScaleUI(float scale, CustomRect oRect, CustomRect curRect) {
if (scale == 1) {
try {
if (mEZPlayer != null) {
mEZPlayer.setDisplayRegion(false, null, null);
}
} catch (BaseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
if (mPlayScale == scale) {
try {
if (mEZPlayer != null) {
mEZPlayer.setDisplayRegion(true, oRect, curRect);
}
} catch (BaseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return;
}
try {
if (mEZPlayer != null) {
mEZPlayer.setDisplayRegion(true, oRect, curRect);
}
} catch (BaseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
mPlayScale = scale;
}