package cn.coopen.italktv.player;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import cn.coopen.italktv.constant.PlatformConstant;
public class BBPlayer implements PlatformConstant {
/* 类标记 */
public static final String TAG = "BBPlayer";
/**
* @param context 上下文
* @param dataSources 播放资源列表
* @param index 播放序列号
* @param category 播放分类
* @param advType 广告类型0-无广告 1-仅有ITalkMedia2-仅有自有广告3-ITalkMedia+自有广告
* @see PlatformConstant#CATEGORY_LIVE
* @see PlatformConstant#CATEGORY_VOD
* @see PlatformConstant#CATEGORY_LIVE2VOD
* @see PlatformConstant#CATEGORY_TVBACK
*/
public static void play(Context context, ArrayList<DataSource> dataSources,
int index, int category, int advType) {
play(context, dataSources, index, category, null, false, advType, "");
}
/**
* @param context 上下文
* @param dataSources 播放资源列表
* @param index 播放序列号
* @param category 播放分类
* @param isFreeWatch 是否免费试看
* @param advType 广告类型0-无广告 1-仅有ITalkMedia2-仅有自有广告3-ITalkMedia+自有广告
* @see PlatformConstant#CATEGORY_LIVE
* @see PlatformConstant#CATEGORY_VOD
* @see PlatformConstant#CATEGORY_LIVE2VOD
* @see PlatformConstant#CATEGORY_TVBACK
*/
public static void play(Context context, ArrayList<DataSource> dataSources,
int index, int category, boolean isFreeWatch, int advType,
String price) {
play(context, dataSources, index, category, null, isFreeWatch, advType,
price);
}
/**
* @param context 上下文
* @param dataSources 播放资源列表
* @param index 播放序列号
* @param category 播放分类
* @param isFreeWatch 是否免费试看
* @param vodList 直播转点播列表
* @param advType 广告类型0-无广告 1-仅有ITalkMedia2-仅有自有广告3-ITalkMedia+自有广告
* @see PlatformConstant#CATEGORY_LIVE
* @see PlatformConstant#CATEGORY_VOD
* @see PlatformConstant#CATEGORY_LIVE2VOD
* @see PlatformConstant#CATEGORY_TVBACK
*/
public static void play(Context context, ArrayList<DataSource> dataSources,
int index, int category, ArrayList<VodData> vodList,
boolean isFreeWatch, int advType, String price) {
play(context, dataSources, index, category, vodList, isFreeWatch, advType, price, true);
}
/**
* @param context 上下文
* @param dataSources 播放资源列表
* @param index 播放序列号
* @param category 播放分类
* @param isFreeWatch 是否免费试看
* @param vodList 直播转点播列表
* @param advType 广告类型0-无广告 1-仅有ITalkMedia2-仅有自有广告3-ITalkMedia+自有广告
* @param showSeries 是否显示选集列表
* @see PlatformConstant#CATEGORY_LIVE
* @see PlatformConstant#CATEGORY_VOD
* @see PlatformConstant#CATEGORY_LIVE2VOD
* @see PlatformConstant#CATEGORY_TVBACK
*/
public static void play(Context context, ArrayList<DataSource> dataSources,
int index, int category, ArrayList<VodData> vodList,
boolean isFreeWatch, int advType, String price, boolean showSeries) {
Log.d(TAG, "context :" + context + ", isFreeWatch :" + isFreeWatch
+ ", advType :" + advType + ", price :" + price + ", index :"
+ index + ", category :" + category + ", dataSources :"
+ dataSources + ", vodList :" + vodList + ", showSeries :" + showSeries);
if (context == null || index < 0 || dataSources == null
|| dataSources.size() == 0) {
Log.d(TAG, "invalid parameters!!!return!!!");
return;
}
Intent intent = new Intent();
intent.setClass(context, PlayerActivity.class);
intent.putExtra("data_sources", dataSources);
intent.putExtra("index", index);
intent.putExtra(CATEGORY, category);
intent.putExtra("free", isFreeWatch);
intent.putExtra("advType", advType);
intent.putExtra("vod_list", vodList);
intent.putExtra("price", price);
intent.putExtra("showSeries", showSeries);
if (context instanceof Activity) {
((Activity) context).startActivityForResult(intent, 0);
} else {
context.startActivity(intent);
}
}
}
这就是实际开发中利用的方法重载,有效的避免了多方法实现同一功能的问题,通过不同的参数来进行同一件事情的完整,对初学者有一定的引导作用。
|
|