当前位置: 首页>>代码示例>>Java>>正文


Java BandwidthMeter类代码示例

本文整理汇总了Java中com.google.android.exoplayer2.upstream.BandwidthMeter的典型用法代码示例。如果您正苦于以下问题:Java BandwidthMeter类的具体用法?Java BandwidthMeter怎么用?Java BandwidthMeter使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


BandwidthMeter类属于com.google.android.exoplayer2.upstream包,在下文中一共展示了BandwidthMeter类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setExoViewSource

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
private void setExoViewSource(@NonNull MasterSecret masterSecret, @NonNull VideoSlide videoSource)
    throws IOException
{
  BandwidthMeter         bandwidthMeter             = new DefaultBandwidthMeter();
  TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory(bandwidthMeter);
  TrackSelector          trackSelector              = new DefaultTrackSelector(videoTrackSelectionFactory);
  LoadControl            loadControl                = new DefaultLoadControl();

  exoPlayer = ExoPlayerFactory.newSimpleInstance(getContext(), trackSelector, loadControl);
  exoView.setPlayer(exoPlayer);

  DefaultDataSourceFactory    defaultDataSourceFactory    = new DefaultDataSourceFactory(getContext(), "GenericUserAgent", null);
  AttachmentDataSourceFactory attachmentDataSourceFactory = new AttachmentDataSourceFactory(getContext(), masterSecret, defaultDataSourceFactory, null);
  ExtractorsFactory           extractorsFactory           = new DefaultExtractorsFactory();

  MediaSource mediaSource = new ExtractorMediaSource(videoSource.getUri(), attachmentDataSourceFactory, extractorsFactory, null, null);

  exoPlayer.prepare(mediaSource);
  exoPlayer.setPlayWhenReady(true);
}
 
开发者ID:CableIM,项目名称:Cable-Android,代码行数:21,代码来源:VideoPlayer.java

示例2: determineIdealSelectedIndex

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
/**
 * Computes the ideal selected index ignoring buffer health.
 *
 * @param nowMs The current time in the timebase of {@link SystemClock#elapsedRealtime()}, or
 *     {@link Long#MIN_VALUE} to ignore blacklisting.
 */
private int determineIdealSelectedIndex(long nowMs) {
  long bitrateEstimate = bandwidthMeter.getBitrateEstimate();
  long effectiveBitrate = bitrateEstimate == BandwidthMeter.NO_ESTIMATE
      ? maxInitialBitrate : (long) (bitrateEstimate * bandwidthFraction);
  int lowestBitrateNonBlacklistedIndex = 0;
  for (int i = 0; i < length; i++) {
    if (nowMs == Long.MIN_VALUE || !isBlacklisted(i, nowMs)) {
      Format format = getFormat(i);
      if (format.bitrate <= effectiveBitrate) {
        return i;
      } else {
        lowestBitrateNonBlacklistedIndex = i;
      }
    }
  }
  return lowestBitrateNonBlacklistedIndex;
}
 
开发者ID:sanjaysingh1990,项目名称:Exoplayer2Radio,代码行数:24,代码来源:AdaptiveTrackSelection.java

示例3: initializePlayer

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
private void initializePlayer() {
    BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
    TrackSelection.Factory videoTrackSelectionFactory =
            new AdaptiveTrackSelection.Factory(bandwidthMeter);
    mTrackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);

    mPlayer = ExoPlayerFactory.newSimpleInstance(getActivity(), mTrackSelector);
    mPlayerAdapter = new LeanbackPlayerAdapter(getActivity(), mPlayer, UPDATE_DELAY);
    mPlaylistActionListener = new PlaylistActionListener(mPlaylist);
    mPlayerGlue = new VideoPlayerGlue(getActivity(), mPlayerAdapter, mPlaylistActionListener);
    mPlayerGlue.setHost(new VideoFragmentGlueHost(this));
    mPlayerGlue.playWhenPrepared();

    play(mVideo);

    ArrayObjectAdapter mRowsAdapter = initializeRelatedVideosRow();
    setAdapter(mRowsAdapter);
}
 
开发者ID:googlesamples,项目名称:androidtv-Leanback,代码行数:19,代码来源:PlaybackFragment.java

示例4: preparePlayer

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
private void preparePlayer() {
    setStatus(STATUS_PREPARING);

    BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
    TrackSelection.Factory trackSelectionFactory = new AdaptiveTrackSelection.Factory(bandwidthMeter);
    TrackSelector trackSelector = new DefaultTrackSelector(trackSelectionFactory);

    exoPlayer = ExoPlayerFactory.newSimpleInstance(app, trackSelector);

    // DefaultBandwidthMeter bandwidthMeterA = new DefaultBandwidthMeter();
    // Produces DataSource instances through which media data is loaded.
    // DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this, Util.getUserAgent(this, "exoplayer2example"), bandwidthMeterA);
    // DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(App.getInstance(), Util.getUserAgent(App.getInstance(), "exoplayer2example"), bandwidthMeterA);

    Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyConfig.getAddress(), proxyConfig.getPort()));
    if (proxyConfig.isAuthEnabled()) {
        Authenticator authenticator = new Authenticator() {
            public PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(proxyConfig.getUser(), proxyConfig.getPass().toCharArray());
            }
        };

        Authenticator.setDefault(authenticator);
    } else {
        Authenticator.setDefault(null);
    }

    String userAgent = Util.getUserAgent(app, "Phoenix-for-VK");
    CustomHttpDataSourceFactory factory = new CustomHttpDataSourceFactory(userAgent, proxy);

    // Produces Extractor instances for parsing the media data.
    ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();

    // This is the MediaSource representing the media to be played:
    // FOR SD CARD SOURCE:
    // MediaSource videoSource = new ExtractorMediaSource(mp4VideoUri, dataSourceFactory, extractorsFactory, null, null);
    // FOR LIVESTREAM LINK:

    String url = playingEntry.getAudio().getLinkMp3();

    MediaSource mediaSource = new ExtractorMediaSource(Uri.parse(url), factory, extractorsFactory, null, null);
    exoPlayer.setRepeatMode(Player.REPEAT_MODE_OFF);
    exoPlayer.addListener(new ExoEventAdapter() {
        @Override
        public void onPlayerStateChanged(boolean b, int i) {
            onInternalPlayerStateChanged(i);
        }

        @Override
        public void onPlayerError(ExoPlaybackException error) {
            onExoPlayerException(error);
        }
    });

    exoPlayer.setPlayWhenReady(supposedToBePlaying);
    exoPlayer.prepare(mediaSource);
}
 
开发者ID:PhoenixDevTeam,项目名称:Phoenix-for-VK,代码行数:58,代码来源:ExoVoicePlayer.java

示例5: createPlayer

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
private static SimpleExoPlayer createPlayer(Context context) {
    BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
    TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory(bandwidthMeter);
    TrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);

    return ExoPlayerFactory.newSimpleInstance(context.getApplicationContext(), trackSelector);
}
 
开发者ID:PhoenixDevTeam,项目名称:Phoenix-for-VK,代码行数:8,代码来源:ExoVideoPlayer.java

示例6: onCreate

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if (!isPlaying) {
        Handler mainHandler = new Handler();
        BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
        TrackSelection.Factory videoTrackSelectionFactory =
                new AdaptiveVideoTrackSelection.Factory(bandwidthMeter);
        TrackSelector trackSelector =
                new DefaultTrackSelector(videoTrackSelectionFactory);

        LoadControl loadControl = new DefaultLoadControl();

        SimpleExoPlayer player =
                ExoPlayerFactory.newSimpleInstance(MainActivity.this, trackSelector, loadControl);
        SimpleExoPlayerView playerView = (SimpleExoPlayerView) findViewById(R.id.videoView);
        playerView.setPlayer(player);
        DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(MainActivity.this,
                Util.getUserAgent(MainActivity.this, "yourApplicationName"));
        MediaSource mediaSource = new ExtractorMediaSource(Uri.parse("https://r7---sn-3c27ln7k.googlevideo.com/videoplayback?id=6fb497d0971b8cdf&itag=22&source=picasa&begin=0&requiressl=yes&mm=30&mn=sn-3c27ln7k&ms=nxu&mv=m&nh=IgphcjAzLmticDAxKgkxMjcuMC4wLjE&pl=22&sc=yes&mime=video/mp4&lmt=1486083166327499&mt=1486135406&ip=134.249.158.189&ipbits=8&expire=1486164239&sparams=ip,ipbits,expire,id,itag,source,requiressl,mm,mn,ms,mv,nh,pl,sc,mime,lmt&signature=3BB06D8D4294F8C49B3CE910B3D6849954302BB1.02ABE00700DFCEF715E72D0EFB73B67841E659F8&key=ck2&ratebypass=yes&title=%5BAnime365%5D%20Kuzu%20no%20Honkai%20-%2004%20(t1174045)"), dataSourceFactory,
                new DefaultExtractorsFactory(), null, null);
        player.prepare(mediaSource);
        player.setPlayWhenReady(true);

    }
}
 
开发者ID:CrazyDude1994,项目名称:lostfilm-android-client,代码行数:28,代码来源:MainActivity.java

示例7: createTrackSelector

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
private TrackSelector createTrackSelector() {
    // Create a default TrackSelector
    // Measures bandwidth during playback. Can be null if not required.
    BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
    TrackSelection.Factory videoTrackSelectionFactory =
            new AdaptiveVideoTrackSelection.Factory(bandwidthMeter);
    TrackSelector trackSelector =
            new DefaultTrackSelector(videoTrackSelectionFactory);
    return trackSelector;
}
 
开发者ID:SalmanTKhan,项目名称:MyAnimeViewer,代码行数:11,代码来源:VideoDetailsFragment.java

示例8: Factory

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
/**
 * @param bandwidthMeter Provides an estimate of the currently available bandwidth.
 */
public Factory(BandwidthMeter bandwidthMeter) {
  this (bandwidthMeter, DEFAULT_MAX_INITIAL_BITRATE,
      DEFAULT_MIN_DURATION_FOR_QUALITY_INCREASE_MS,
      DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS,
      DEFAULT_MIN_DURATION_TO_RETAIN_AFTER_DISCARD_MS, DEFAULT_BANDWIDTH_FRACTION);
}
 
开发者ID:sanjaysingh1990,项目名称:Exoplayer2Radio,代码行数:10,代码来源:AdaptiveTrackSelection.java

示例9: AdaptiveTrackSelection

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
/**
 * @param group The {@link TrackGroup}.
 * @param tracks The indices of the selected tracks within the {@link TrackGroup}. Must not be
 *     empty. May be in any order.
 * @param bandwidthMeter Provides an estimate of the currently available bandwidth.
 */
public AdaptiveTrackSelection(TrackGroup group, int[] tracks,
    BandwidthMeter bandwidthMeter) {
  this (group, tracks, bandwidthMeter, DEFAULT_MAX_INITIAL_BITRATE,
      DEFAULT_MIN_DURATION_FOR_QUALITY_INCREASE_MS,
      DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS,
      DEFAULT_MIN_DURATION_TO_RETAIN_AFTER_DISCARD_MS, DEFAULT_BANDWIDTH_FRACTION);
}
 
开发者ID:sanjaysingh1990,项目名称:Exoplayer2Radio,代码行数:14,代码来源:AdaptiveTrackSelection.java

示例10: AdaptiveVideoTrackSelection

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
/**
 * @param group The {@link TrackGroup}. Must not be null.
 * @param tracks The indices of the selected tracks within the {@link TrackGroup}. Must not be
 *     null or empty. May be in any order.
 * @param bandwidthMeter Provides an estimate of the currently available bandwidth.
 */
public AdaptiveVideoTrackSelection(TrackGroup group, int[] tracks,
    BandwidthMeter bandwidthMeter) {
  this (group, tracks, bandwidthMeter, DEFAULT_MAX_INITIAL_BITRATE,
      DEFAULT_MIN_DURATION_FOR_QUALITY_INCREASE_MS,
      DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS,
      DEFAULT_MIN_DURATION_TO_RETAIN_AFTER_DISCARD_MS, DEFAULT_BANDWIDTH_FRACTION);
}
 
开发者ID:zhanglibin123488,项目名称:videoPickPlayer,代码行数:14,代码来源:AdaptiveVideoTrackSelection.java

示例11: onCreate

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_player);

    media = (MediaFile) getIntent().getSerializableExtra(MEDIA);

    videoFragment = (VideoFragment) getFragmentManager().findFragmentById(R.id.playback_fragment);
    VideoFragmentGlueHost glueHost = new VideoFragmentGlueHost(videoFragment);

    subtitleView = (SubtitleView) findViewById(R.id.subtitle_view);
    if (subtitleView != null) {
        subtitleView.setUserDefaultStyle();
        subtitleView.setUserDefaultTextSize();
    }

    Handler mainHandler = new Handler();
    BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
    TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveVideoTrackSelection.Factory(bandwidthMeter);
    MappingTrackSelector trackSelector = new DefaultTrackSelector(mainHandler, videoTrackSelectionFactory);
    LoadControl loadControl = new DefaultLoadControl();
    player = ExoPlayerFactory.newSimpleInstance(this, trackSelector, loadControl);
    player.addListener(this);
    player.setTextOutput(this);

    glueHelper = new ExoPlayerGlue(player, trackSelector, this);
    glueHelper.setHost(glueHost);

    session = new MediaSession(this, "ITPlayer");
    session.setCallback(new ExoPlayerMediaSessionCalback(player));
    session.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS | MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS);
    session.setActive(true);

    MediaMetadata.Builder metaBuilder = new MediaMetadata.Builder();
    session.setMetadata(metaBuilder.build());

    new SourceTask().execute(media);
}
 
开发者ID:irtimmer,项目名称:itplayer,代码行数:39,代码来源:PlayerActivity.java

示例12: createTrackSelector

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
private TrackSelector createTrackSelector(){
    // Create a default TrackSelector
    // Measures bandwidth during playback. Can be null if not required.
    BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
    TrackSelection.Factory videoTrackSelectionFactory =
            new AdaptiveVideoTrackSelection.Factory(bandwidthMeter);
    TrackSelector trackSelector =
            new DefaultTrackSelector(videoTrackSelectionFactory);
    return trackSelector;
}
 
开发者ID:lawloretienne,项目名称:Loop,代码行数:11,代码来源:VideoDetailsFragment.java

示例13: init

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
public void init(Context context, SimpleExoPlayerView simpleExoPlayerView) {
  // Create a default track selector.
  BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
  TrackSelection.Factory videoTrackSelectionFactory =
      new AdaptiveTrackSelection.Factory(bandwidthMeter);
  TrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);

  // Create a player instance.
  player = ExoPlayerFactory.newSimpleInstance(context, trackSelector);

  // Bind the player to the view.
  simpleExoPlayerView.setPlayer(player);

  // Produces DataSource instances through which media data is loaded.
  DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context,
      Util.getUserAgent(context, context.getString(R.string.application_name)));

  // This is the MediaSource representing the content media (i.e. not the ad).
  String contentUrl = context.getString(R.string.content_url);
  MediaSource contentMediaSource =
      new ExtractorMediaSource.Factory(dataSourceFactory)
          .createMediaSource(Uri.parse(contentUrl));

  // Compose the content media source into a new AdsMediaSource with both ads and content.
  MediaSource mediaSourceWithAds =
      new AdsMediaSource(
          contentMediaSource,
          /* adMediaSourceFactory= */ this,
          adsLoader,
          simpleExoPlayerView.getOverlayFrameLayout(),
          /* eventHandler= */ null,
          /* eventListener= */ null);

  // Prepare the player with the source.
  player.seekTo(contentPosition);
  player.prepare(mediaSourceWithAds);
  player.setPlayWhenReady(true);
}
 
开发者ID:y20k,项目名称:transistor,代码行数:39,代码来源:PlayerManager.java

示例14: Factory

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
/**
 * @param bandwidthMeter Provides an estimate of the currently available bandwidth.
 */
public Factory(BandwidthMeter bandwidthMeter) {
  this (bandwidthMeter, DEFAULT_MAX_INITIAL_BITRATE,
      DEFAULT_MIN_DURATION_FOR_QUALITY_INCREASE_MS,
      DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS,
      DEFAULT_MIN_DURATION_TO_RETAIN_AFTER_DISCARD_MS,
      DEFAULT_BANDWIDTH_FRACTION,
      DEFAULT_BUFFERED_FRACTION_TO_LIVE_EDGE_FOR_QUALITY_INCREASE);
}
 
开发者ID:y20k,项目名称:transistor,代码行数:12,代码来源:AdaptiveTrackSelection.java

示例15: AdaptiveTrackSelection

import com.google.android.exoplayer2.upstream.BandwidthMeter; //导入依赖的package包/类
/**
 * @param group The {@link TrackGroup}.
 * @param tracks The indices of the selected tracks within the {@link TrackGroup}. Must not be
 *     empty. May be in any order.
 * @param bandwidthMeter Provides an estimate of the currently available bandwidth.
 */
public AdaptiveTrackSelection(TrackGroup group, int[] tracks,
    BandwidthMeter bandwidthMeter) {
  this (group, tracks, bandwidthMeter, DEFAULT_MAX_INITIAL_BITRATE,
      DEFAULT_MIN_DURATION_FOR_QUALITY_INCREASE_MS,
      DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS,
      DEFAULT_MIN_DURATION_TO_RETAIN_AFTER_DISCARD_MS,
      DEFAULT_BANDWIDTH_FRACTION,
      DEFAULT_BUFFERED_FRACTION_TO_LIVE_EDGE_FOR_QUALITY_INCREASE);
}
 
开发者ID:y20k,项目名称:transistor,代码行数:16,代码来源:AdaptiveTrackSelection.java


注:本文中的com.google.android.exoplayer2.upstream.BandwidthMeter类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。