如何使用 jwplayer android sdk 播放前置、中置和 post-滚动广告

How to play pre-roll, mid-roll and post-roll ads using jwplayer android sdk

我是 JWPlayer 新手。我从 jwplayer 获得了许可证并正在研究它。我不知道如何在中贴片、前贴片和 post-贴片中播放广告。我也试过但找不到任何好的资源。请指导我。我的试用期很快就要到期了。提前致谢。我尝试了以下代码。我真的不知道如何在 JWPlayer 上播放广告。

public class VideoActivity extends Activity implements VideoPlayerEvents.OnFullscreenListener
    {
        JWPlayerView mPlayerView;
        private JWEventHandler mEventHandler;
        String videoUri;
        ArrayList<AdBreak> adsBreakList;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
            setContentView(R.layout.activity_video);
            mPlayerView = (JWPlayerView)findViewById(R.id.jwplayer);
            videoUri = "http:"+getIntent().getExtras().getString("url");
            adsBreakList = new ArrayList<>();
            mPlayerView.addOnFullscreenListener(this);
            mEventHandler = new JWEventHandler(mPlayerView);

            Ad ad1 = new Ad(AdSource.VAST, videoUri);
            AdBreak ad = new AdBreak("pre", ad1);
            adsBreakList.add(ad);

            PlaylistItem pi = new PlaylistItem.Builder().file(videoUri).adSchedule(adsBreakList).build();
            mPlayerView.load(pi);
        }

这是一篇关于播放 VAST 广告、VMAP 并将两者加载到 Google IMA for JW Player 的文章:https://developer.jwplayer.com/sdk/android/docs/developer-guide/interaction/advertising/

此外,您可能想查看 API 参考中的广告 类:https://developer.jwplayer.com/sdk/android/reference/

希望这些文章对您有所帮助,如果没有,请随时在这里再次发表评论或使用 JW Player 提出支持案例以帮助解决问题。

Android 使用 JW Player 的前插播和插播广告直播视频

 public class LiveTv extends BaseActivity implements      VideoPlayerEvents.OnErrorListener{

String path = "your video stream path";
String preRoll = "http://pubads.g.doubleclick.net or any other ad url";
String midRoll = "http://pubads.g.doubleclick.net or any other ad url";
ArrayList<PlaylistItem> videosList = new ArrayList<PlaylistItem>();
private Ad ad;
private AdBreak adBreak;
private LinkedList<AdBreak> schedule;
private PlaylistItem playItem;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.livetv);
    JWPlayerFragment fragment = (JWPlayerFragment) getFragmentManager().findFragmentById(R.id.playerFragment);
    // Get a handle to the JWPlayerView
    JWPlayerView playerView = fragment.getPlayer();
    playerView.playAd(preRoll);

    ad = new Ad(AdSource.VAST, midRoll);
    adBreak = new AdBreak("10%", ad);
    schedule = new LinkedList<>();
    schedule.add(adBreak);
    playItem = new PlaylistItem.Builder()
            .file(path)
            .adSchedule(schedule) // Set the Ad Schedule
            .build();

    playerView.addOnAdErrorListener(new AdvertisingEvents.OnAdErrorListener() {
        @Override
        public void onAdError(String s, String s1) {
            Log.d("adLoaad","adload failed");
            Toast.makeText(getApplicationContext(), "Error loading ad", Toast.LENGTH_LONG).show();
        }
    });
    playerView.load(playItem);
}

@Override
public void onError(String s) {
    Toast.makeText(getApplicationContext(), "JW player Error", Toast.LENGTH_LONG).show();
}
 }