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


Java MergingMediaSource类代码示例

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


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

示例1: TextSubtitle

import com.google.android.exoplayer2.source.MergingMediaSource; //导入依赖的package包/类
/**
 * 加载字幕
 * @param srtUri
 * @param mediaSource
 */
private MediaSource TextSubtitle(Uri srtUri, MediaSource mediaSource){
    Format textFormat = Format.createTextSampleFormat(null, MimeTypes.APPLICATION_SUBRIP,
            null, Format.NO_VALUE, Format.NO_VALUE, Locale.getDefault().getLanguage(), null);
    MediaSource textMediaSource = new SingleSampleMediaSource(srtUri, mediaDataSourceFactory, textFormat, C.TIME_UNSET);

    return new MergingMediaSource(mediaSource, textMediaSource);
}
 
开发者ID:AndroidTips,项目名称:MDVideo,代码行数:13,代码来源:PlayerActivityV2.java

示例2: onPostExecute

import com.google.android.exoplayer2.source.MergingMediaSource; //导入依赖的package包/类
@Override
protected void onPostExecute(MediaSource... sources) {
    if (sources != null) {
        player.prepare(sources.length == 1 ? sources[0] : new MergingMediaSource(sources));
        player.setPlayWhenReady(true);
    }
}
 
开发者ID:irtimmer,项目名称:itplayer,代码行数:8,代码来源:PlayerActivity.java

示例3: onCreate

import com.google.android.exoplayer2.source.MergingMediaSource; //导入依赖的package包/类
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_video);
    Bundle bundle = getIntent().getExtras();
    if(bundle!=null && bundle.containsKey("multimedia")) {

        Multimedia multimedia = bundle.getParcelable("multimedia");
        SimpleExoPlayerView videoView = (SimpleExoPlayerView) findViewById(R.id.video);

        // 1. Crea un slector de pista por defecto
        BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
        TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveVideoTrackSelection.Factory(bandwidthMeter);
        TrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);

        // 2. Creo un control para el player
        LoadControl loadControl = new DefaultLoadControl();

        // 3. Creo el player con los componentes anteriores
        player = ExoPlayerFactory.newSimpleInstance(getApplicationContext(), trackSelector, loadControl);

        //Obtengo la URL completa del archivo de video
        Uri uri = Uri.parse(ConsultasBBDD.server + ConsultasBBDD.imagenes +  multimedia.getUrl());

        //A la vista le establezco el reproductor que va a usar
        videoView.setPlayer(player);

        // Procuce que se instancie el DataSource a través de los datos del video que ha sido cargado.
        DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(), Util.getUserAgent(getApplicationContext(), "SmartU"));
        // Produce un extractor que parsea el video.
        ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
        // Construyo un MediaSource con el formato y los datos del video para asignarselo al reproductor.
        MediaSource videoSource = new ExtractorMediaSource(uri, dataSourceFactory, extractorsFactory, null, null);
        // If has subtitles load video with subtitles
        if (multimedia.getUrlSubtitulos() != null && multimedia.getUrlSubtitulos().compareTo("") != 0) {
            //Obtengo la URL completa para los subtitulos del video
            Uri subtitulosUri = Uri.parse(ConsultasBBDD.server + ConsultasBBDD.imagenes +  multimedia.getUrlSubtitulos());
            //Asigno el formato de los subtitulos
            Format textFormat = Format.createTextSampleFormat(null, MimeTypes.TEXT_VTT,
                    null, Format.NO_VALUE, Format.NO_VALUE, Locale.getDefault().getLanguage(), null);
            //Creo un MediaSource para los subtitulos para añadirselos al video
            MediaSource subtitleSource = new SingleSampleMediaSource(subtitulosUri, dataSourceFactory, textFormat, C.TIME_UNSET);
            // Mezcla el video con los subtitulos
            MergingMediaSource mergedSource = new MergingMediaSource(videoSource, subtitleSource);
            // Preparo el reproductor con los subtitulos y el video
            player.prepare(mergedSource);
        } else // Si no tiene subtitulos preparo solo el video
            player.prepare(videoSource);
    }
}
 
开发者ID:nen155,项目名称:TFG-SmartU-La-red-social,代码行数:51,代码来源:VideoActivity.java

示例4: getMergingMediaSource

import com.google.android.exoplayer2.source.MergingMediaSource; //导入依赖的package包/类
public MergingMediaSource getMergingMediaSource(){
    return new MergingMediaSource(this.getMediaSource(), this.getMediaSourceSubtitle());
}
 
开发者ID:herudi,项目名称:react-native-exoplayer-intent-video,代码行数:4,代码来源:PlayerController.java


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