电视家Open API适用于电视家2.0和电视家3.0,借助以下API,可以实现:
- 启动电视家
- 播放指定频道:如CCTV-1等
- 数字换台
- 切换到上一个频道
- 切换到下一个频道
- 获取电视家所有的频道号和频道名
- 语音调用
注:API若有使用相关使用问题,请联系邮箱:help@51dianshijia.com 或微信:xx-cii
一、频道列表接口
注意:为了避免我方服务器以及接口升级问题导致频道接口无法正常使用,三方需要在自己服务器做频道缓存,然后定时刷新,禁止客户端直接使用此接口
1. 接口描述
url示例:http://api.dianshihome.com/3rd/channels?from=xx&tm=1551958867&token=9b2e19008fb5fbcca7e7e0ae2ad2c4c6(请求方式:http GET)
2. 请求参数
参数拼接在url参数中, 字段说明如下:
参数 |
类型 |
描述 |
默认值 |
是否必填 |
备注 |
from |
string |
来源 |
|
是 |
联系电视家开发人员获取 |
tm |
int64 |
秒级时间戳 |
|
是 |
|
token |
string |
|
|
是 |
token=md5(from+key+tm); ps:”+”不参与签名, 各合作方key请联系电视家开发人员 |
3. 接口返回
字段名 |
字段类型 |
描述 |
errCode |
int |
错误码,0或空表示成功, 其余值均为失败 |
msg |
string |
错误码描述信息,成功时为空 |
data |
ChannelGroup[] |
频道分类列表 |
ChannelGroup字段说明:
ChannelGroup字段名 |
字段类型 |
描述 |
name |
string |
频道分类名称 |
type |
string |
频道分类类型,唯一 |
channels |
Channel[] |
频道列表 |
Channel字段说明:
Channel字段名 |
字段类型 |
描述 |
id |
string |
频道id,唯一 |
name |
string |
频道名称 |
num |
int |
频道号 |
4. 错误码
errCode |
描述 |
2001 |
鉴权失败 |
2002 |
未知来源 |
二、2.0的API的接口和代码如下:
1. 数字换台
Intent intent = new Intent();
intent.setAction(“com.dianshijia.tvlive2.player.ChangeChannel”);
intent.setPackage(“com.elinkway.tvlive2”);
intent.putExtra(“channel_num”, “1”);// 频道channelNum,可以通过频道列表接口获取
intent.putExtra(“from”, “调用者包名”);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
2. 切换上一频道
Intent intent = new Intent();
intent.setAction(“com.dianshijia.tvlive2.player.PreChannel”);
intent.setPackage(“com.elinkway.tvlive2”);
intent.putExtra(“from”, “调用者包名”);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
3. 切换下一频道
Intent intent = new Intent();
intent.setAction(“com.dianshijia.tvlive2.player.NextChannel”);
intent.setPackage(“com.elinkway.tvlive2”);
intent.putExtra(“from”, “调用者包名”);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
4. 播放指定ID频道
Intent intent = new Intent();
intent.setAction(“com.dianshijia.tvlive2.player.PlayChannelId”);
intent.setPackage(“com.elinkway.tvlive2”);
intent.putExtra(“channel_id”, “cctv5”); // 频道id,可以通过频道列表接口获取
intent.putExtra(“from”, “调用者包名”);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
5. 播放指定频道名称
Intent intent = new Intent();
intent.setAction(“com.dianshijia.tvlive2.player.PlayChannelName”);
intent.setPackage(“com.elinkway.tvlive2”);
intent.putExtra(“channel_name”, “北京卫视”); // 频道name,可以通过频道列表接口获取
intent.putExtra(“from”, “调用者包名”);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
6. 直接调起电视家
Intent startIntent = context.getPackageManager().getLaunchIntentForPackage(“com.elinkway.tvlive2”);
context.startActivity(startIntent);
三、电视家3.0控制接口说明
1. 数字换台
Intent intent = new Intent();
intent.setPackage(“com.dianshijia.newlive”);
intent.setAction(“com.dianshijia.newlive.player.ChangeChannel”);
intent.addCategoty(“android.intent.category.DEFAULT”);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(“channel_num”, “1”); // 频道channelNum,可以通过频道列表接口获取
intent.putExtra(“from”, “调用者包名”);
startActivity(intent);
2. 切换上一频道
Intent intent = new Intent();
intent.setPackage(“com.dianshijia.newlive”);
intent.setAction(“com.dianshijia.newlive.player.PreChannel”);
intent.addCategoty(“android.intent.category.DEFAULT”);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(“from”, “调用者包名”);
startActivity(intent);
3. 切换下一频道
Intent intent = new Intent();
intent.setPackage(“com.dianshijia.newlive”);
intent.setAction(“com.dianshijia.newlive.player.NextChannel”);
intent.addCategoty(“android.intent.category.DEFAULT”);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(“from”, “调用者包名”);
startActivity(intent);
4. 播放指定ID频道
Intent intent = new Intent();
intent.setPackage(“com.dianshijia.newlive”);
intent.setAction(“com.dianshijia.newlive.player.PlayChannelId”);
intent.addCategoty(“android.intent.category.DEFAULT”);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(“channel_id”, “cctv5”); // 频道id,可以通过频道列表接口获取
intent.putExtra(“from”, “调用者包名”);
startActivity(intent);
5. 播放指定频道名称
Intent intent = new Intent();
intent.setPackage(“com.dianshijia.newlive”);
intent.setAction(“com.dianshijia.newlive.player.PlayChannelName”);
intent.addCategoty(“android.intent.category.DEFAULT”);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(“channel_name”, “湖南卫视”); // 频道name,可以通过频道列表接口获取
intent.putExtra(“from”, “调用者包名”);
startActivity(intent);
6. 直接调起电视家3.0
Intent startIntent = context.getPackageManager().getLaunchIntentForPackage(“com.dianshijia.newlive”);
context.startActivity(startIntent);
API若有使用相关使用问题,请联系邮箱:help@51dianshijia.com 或微信:xx-cii