android.media.PlaybackParams#setSpeed ( )源码实例Demo

下面列出了android.media.PlaybackParams#setSpeed ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: GSYVideoPlayer   文件: SystemPlayerManager.java
private void setSpeed(float speed) {
    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();
        }
    }
}
 
源代码2 项目: MediaSDK   文件: MediaPlayerImpl.java
@Override
public void setSpeed(float speed) {
    if (Build.VERSION.SDK_INT > 23) {
        PlaybackParams params = new PlaybackParams();
        params.setSpeed(speed);
        mPlayer.setPlaybackParams(params);
    } else {
        LogUtils.w("setSpeed is invalid.");
    }
}
 
源代码3 项目: imsdk-android   文件: JZMediaSystem.java
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void setSpeed(float speed) {
    PlaybackParams pp = mediaPlayer.getPlaybackParams();
    pp.setSpeed(speed);
    mediaPlayer.setPlaybackParams(pp);
}
 
源代码4 项目: imsdk-android   文件: JZMediaSystemAssertFolder.java
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void setSpeed(float speed) {
    PlaybackParams pp = mediaPlayer.getPlaybackParams();
    pp.setSpeed(speed);
    mediaPlayer.setPlaybackParams(pp);
}
 
源代码5 项目: K-Sonic   文件: SimpleExoPlayer.java
public void setPlaybackSpeed(float speed) {
  this.speed = speed;
  if (Build.VERSION.SDK_INT >= 23) {
    PlaybackParams params = new PlaybackParams();
    params.setSpeed(speed);
    setPlaybackParams(params);
  } else if (sonicMediaCodecAudioRenderer != null) {
    sonicMediaCodecAudioRenderer.setSonicSpeed(speed);
  }
}
 
源代码6 项目: ExoMedia   文件: NativeAudioPlayer.java
@Override
public boolean setPlaybackSpeed(float speed) {
    // Marshmallow+ support setting the playback speed natively
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        PlaybackParams params = new PlaybackParams();
        params.setSpeed(speed);

        mediaPlayer.setPlaybackParams(params);
        return true;
    }

    return false;
}
 
源代码7 项目: ExoMedia   文件: NativeVideoDelegate.java
public boolean setPlaybackSpeed(float speed) {
    // Marshmallow+ support setting the playback speed natively
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        PlaybackParams params = new PlaybackParams();
        params.setSpeed(speed);

        mediaPlayer.setPlaybackParams(params);
        return true;
    }

    return false;
}
 
源代码8 项目: Popeens-DSub   文件: DownloadService.java
private synchronized void applyPlaybackParams(MediaPlayer mediaPlayer) {
	if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
		float playbackSpeed = getPlaybackSpeed();

		try {
			if (Math.abs(playbackSpeed - 1.0) > 0.01 || mediaPlayer.getPlaybackParams() != null) {
				PlaybackParams playbackParams = new PlaybackParams();
				playbackParams.setSpeed(playbackSpeed);
				mediaPlayer.setPlaybackParams(playbackParams);
			}
		} catch(Exception e) {
			Log.e(TAG, "Error while applying media player params", e);
		}
	}
}
 
@Override
public void setPlaybackSpeed(float f) {
    Log.d(AMP_TAG, "setPlaybackSpeed(" + f + ")");
    if (Build.VERSION.SDK_INT < 23) {
        return;
    }
    PlaybackParams params = mp.getPlaybackParams();
    params.setSpeed(f);
    boolean isPaused = this.owningMediaPlayer.state == org.antennapod.audio.MediaPlayer.State.PAUSED;
    mp.setPlaybackParams(params);
    if (isPaused) {
        mp.pause();
    }
}
 
@TargetApi(Build.VERSION_CODES.M)
public void changePlaybackSpeed(float speed) {
    PlaybackParams playbackParams = new PlaybackParams();
    playbackParams.setSpeed(speed);
    setPlaybackParams(playbackParams);
}
 
源代码11 项目: xipl   文件: BaseTvInputService.java
@Override
public void onTimeShiftResume() {
    if (DEBUG) Log.d(TAG, "Resume playback of program");
    mTimeShiftIsPaused = false;
    if (mCurrentProgram == null) {
        return;
    }

    if (!mPlayingRecordedProgram) {
        // If currently playing program content, past ad durations must be recalculated
        // based on getTvPlayer.getCurrentPosition().
        mElapsedAdsTime = 0;
        mElapsedProgramTime = getTvPlayer().getCurrentPosition();
        long elapsedProgramTimeAdjusted =
                mElapsedProgramTime + mCurrentProgram.getStartTimeUtcMillis();
        if (mCurrentProgram.getInternalProviderData() != null) {
            List<Advertisement> ads = mCurrentProgram.getInternalProviderData().getAds();
            // First, sort the ads in time order.
            TreeMap<Long, Long> scheduledAds = new TreeMap<>();
            for (Advertisement ad : ads) {
                scheduledAds.put(ad.getStartTimeUtcMillis(), ad.getStopTimeUtcMillis());
            }
            // Second, add up all ad times which should have played before the elapsed
            // program time.
            long programDurationPlayed = 0;
            long totalDurationPlayed = 0;
            for (Long adStartTime : scheduledAds.keySet()) {
                programDurationPlayed += adStartTime - totalDurationPlayed;
                if (programDurationPlayed < elapsedProgramTimeAdjusted) {
                    long adDuration = scheduledAds.get(adStartTime) - adStartTime;
                    mElapsedAdsTime += adDuration;
                    totalDurationPlayed = programDurationPlayed + adDuration;
                } else {
                    break;
                }
            }
        } else {
            Log.w(
                    TAG,
                    "Failed to get program provider data for "
                            + mCurrentProgram.getTitle()
                            + ". Try to do an EPG sync.");
        }

        mTimeShiftedPlaybackPosition = elapsedProgramTimeAdjusted + mElapsedAdsTime;

        scheduleNextAd();
        scheduleNextProgram();
    }

    if (getTvPlayer() != null) {
        getTvPlayer().play();
    }
    // Resume and make sure media is playing at regular speed.
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        PlaybackParams normalParams = new PlaybackParams();
        normalParams.setSpeed(1);
        onTimeShiftSetPlaybackParams(normalParams);
    }
}
 
@Override
public void onTimeShiftResume() {
    if (DEBUG) Log.d(TAG, "Resume playback of program");
    mTimeShiftIsPaused = false;
    if (mCurrentProgram == null) {
        return;
    }

    if (!mPlayingRecordedProgram) {
        // If currently playing program content, past ad durations must be recalculated
        // based on getTvPlayer.getCurrentPosition().
        mElapsedAdsTime = 0;
        mElapsedProgramTime = getTvPlayer().getCurrentPosition();
        long elapsedProgramTimeAdjusted =
                mElapsedProgramTime + mCurrentProgram.getStartTimeUtcMillis();
        if (mCurrentProgram.getInternalProviderData() != null) {
            List<Advertisement> ads = mCurrentProgram.getInternalProviderData().getAds();
            // First, sort the ads in time order.
            TreeMap<Long, Long> scheduledAds = new TreeMap<>();
            for (Advertisement ad : ads) {
                scheduledAds.put(ad.getStartTimeUtcMillis(), ad.getStopTimeUtcMillis());
            }
            // Second, add up all ad times which should have played before the elapsed
            // program time.
            long programDurationPlayed = 0;
            long totalDurationPlayed = 0;
            for (Long adStartTime : scheduledAds.keySet()) {
                programDurationPlayed += adStartTime - totalDurationPlayed;
                if (programDurationPlayed < elapsedProgramTimeAdjusted) {
                    long adDuration = scheduledAds.get(adStartTime) - adStartTime;
                    mElapsedAdsTime += adDuration;
                    totalDurationPlayed = programDurationPlayed + adDuration;
                } else {
                    break;
                }
            }
        } else {
            Log.w(
                    TAG,
                    "Failed to get program provider data for "
                            + mCurrentProgram.getTitle()
                            + ". Try to do an EPG sync.");
        }

        mTimeShiftedPlaybackPosition = elapsedProgramTimeAdjusted + mElapsedAdsTime;

        scheduleNextAd();
        scheduleNextProgram();
    }

    if (getTvPlayer() != null) {
        getTvPlayer().play();
    }
    // Resume and make sure media is playing at regular speed.
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        PlaybackParams normalParams = new PlaybackParams();
        normalParams.setSpeed(1);
        onTimeShiftSetPlaybackParams(normalParams);
    }
}