提交 d501d5c9 编写于 作者: G guoshuyu

fix system Player

上级 db96af42
......@@ -55,7 +55,6 @@ public class EXO2PlayerManager implements IPlayerManager {
mediaPlayer.setCacheDir(gsyModel.getCachePath());
mediaPlayer.setDataSource(context, Uri.parse(gsyModel.getUrl()), gsyModel.getMapHeadData());
}
//很遗憾,EXO2的setSpeed只能在播放前生效
if (gsyModel.getSpeed() != 1 && gsyModel.getSpeed() > 0) {
mediaPlayer.setSpeed(gsyModel.getSpeed(), 1);
}
......@@ -80,8 +79,6 @@ public class EXO2PlayerManager implements IPlayerManager {
@Override
public void setSpeed(float speed, boolean soundTouch) {
//很遗憾,EXO2的setSpeed只能在播放前生效
//Debuger.printfError("很遗憾,目前EXO2的setSpeed只能在播放前设置生效");
if (mediaPlayer != null) {
try {
mediaPlayer.setSpeed(speed, 1);
......@@ -140,7 +137,6 @@ public class EXO2PlayerManager implements IPlayerManager {
}
@Override
public void setSpeedPlaying(float speed, boolean soundTouch) {
......
......@@ -118,7 +118,7 @@ public class IJKPlayerManager implements IPlayerManager {
public void setSpeed(float speed, boolean soundTouch) {
if (speed > 0) {
try {
if(mediaPlayer != null) {
if (mediaPlayer != null) {
mediaPlayer.setSpeed(speed);
}
} catch (Exception e) {
......@@ -142,7 +142,7 @@ public class IJKPlayerManager implements IPlayerManager {
@Override
public void setNeedMute(boolean needMute) {
if(mediaPlayer != null) {
if (mediaPlayer != null) {
if (needMute) {
mediaPlayer.setVolume(0, 0);
} else {
......@@ -162,7 +162,7 @@ public class IJKPlayerManager implements IPlayerManager {
@Override
public void release() {
if(mediaPlayer != null) {
if (mediaPlayer != null) {
mediaPlayer.release();
}
}
......@@ -174,7 +174,7 @@ public class IJKPlayerManager implements IPlayerManager {
@Override
public long getNetSpeed() {
if(mediaPlayer != null) {
if (mediaPlayer != null) {
return mediaPlayer.getTcpSpeed();
}
return 0;
......
......@@ -50,7 +50,7 @@ public class SystemPlayerManager implements IPlayerManager {
}
mediaPlayer.setLooping(gsyModel.isLooping());
if (gsyModel.getSpeed() != 1 && gsyModel.getSpeed() > 0) {
setSpeed(gsyModel.getSpeed());
}
} catch (Exception e) {
e.printStackTrace();
......@@ -61,10 +61,6 @@ public class SystemPlayerManager implements IPlayerManager {
public void showDisplay(Message msg) {
if (msg.obj == null && mediaPlayer != null && !release) {
mediaPlayer.setSurface(null);
if (surface != null) {
surface.release();
surface = null;
}
} else if (msg.obj != null) {
Surface holder = (Surface) msg.obj;
surface = holder;
......@@ -96,7 +92,10 @@ public class SystemPlayerManager implements IPlayerManager {
@Override
public void releaseSurface() {
if (surface != null) {
surface.release();
surface = null;
}
}
@Override
......@@ -126,13 +125,20 @@ public class SystemPlayerManager implements IPlayerManager {
}
private void setSpeed(float speed) {
if (mediaPlayer != null && mediaPlayer.getInternalMediaPlayer() != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
PlaybackParams playbackParams = new PlaybackParams();
playbackParams.setSpeed(speed);
mediaPlayer.getInternalMediaPlayer().setPlaybackParams(playbackParams);
} else {
Debuger.printfError(" not support setSpeed");
if (release) {
return;
}
if (mediaPlayer != null && mediaPlayer.getInternalMediaPlayer() != null && mediaPlayer.isPlayable()) {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
PlaybackParams playbackParams = new PlaybackParams();
playbackParams.setSpeed(speed);
mediaPlayer.getInternalMediaPlayer().setPlaybackParams(playbackParams);
} else {
Debuger.printfError(" not support setSpeed");
}
} catch (Exception e){
e.printStackTrace();
}
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册