电视家API

 
电视家Open API适用于电视家2.0和电视家3.0,借助以下API,可以实现:
  • 启动电视家
  • 播放指定频道:如CCTV-1等
  • 数字换台
  • 切换到上一个频道
  • 切换到下一个频道
  • 获取电视家所有的频道号和频道名
  • 语音调用

注:API若有使用相关使用问题,请联系邮箱:help@51dianshijia.com 或微信:dianshijiadashen

一、频道列表接口
注意:为了避免我方服务器以及接口升级问题导致频道接口无法正常使用,三方需要在自己服务器做频道缓存,然后定时刷新,禁止客户端直接使用此接口
1. 接口描述
url示例:http://api.dianshihome.com/3rd/channels?from=xx&tm=1551958867&token=9b2e19008fb5fbcca7e7e0ae2ad2c4c6(请求方式:http GET)
2. 请求参数
参数拼接在url参数中, 字段说明如下:
参数类型描述默认值是否必填备注
fromstring来源 联系电视家开发人员获取
tmint64秒级时间戳  
tokenstring  token=md5(from+key+tm); ps:”+”不参与签名, 各合作方key请联系电视家开发人员
3. 接口返回
字段名字段类型描述
errCodeint错误码,0或空表示成功, 其余值均为失败
msgstring错误码描述信息,成功时为空
dataChannelGroup[]频道分类列表
ChannelGroup字段说明:
ChannelGroup字段名字段类型描述
namestring频道分类名称
typestring频道分类类型,唯一
channelsChannel[]频道列表
Channel字段说明:
Channel字段名字段类型描述
idstring频道id,唯一
namestring频道名称
numint频道号
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.setAction(“com.dianshijia.newlive.player.ChangeChannel”);
intent.setPackage(“com.dianshijia.newlive”)
intent.putExtra(“channel_num”, “1”); // 频道channelNum,可以通过频道列表接口获取
intent.putExtra(“from”, “调用者包名”);
startService(intent);
2. 切换上一频道
Intent intent = new Intent();
intent.setAction(“com.dianshijia.newlive.player.PreChannel”);
intent.setPackage(“com.dianshijia.newlive”);
intent.putExtra(“from”, “调用者包名”);

startService(intent);

 
3. 切换下一频道
Intent intent = new Intent();
intent.setAction(“com.dianshijia.newlive.player.NextChannel”);
intent.setPackage(“com.dianshijia.newlive”);
intent.putExtra(“from”, “调用者包名”);

startService(intent);

 
4. 播放指定ID频道
Intent intent = new Intent();
intent.setAction(“com.dianshijia.newlive.player.PlayChannelId”);
intent.setPackage(“com.dianshijia.newlive”);
intent.putExtra(“channel_id”, “cctv5”); // 频道id,可以通过频道列表接口获取
intent.putExtra(“from”, “调用者包名”);
startService(intent)
 
5. 播放指定频道名称
Intent intent = new Intent();
intent.setAction(“com.dianshijia.newlive.player.PlayChannelName”);
intent.setPackage(“com.dianshijia.newlive”);
intent.putExtra(“channel_name”, “湖南卫视”); // 频道name,可以通过频道列表接口获取
intent.putExtra(“from”, “调用者包名”);
startService(intent)
 
6. 直接调起电视家3.0
Intent startIntent = context.getPackageManager().getLaunchIntentForPackage(“com.dianshijia.newlive”);

context.startActivity(startIntent);

四、 电视家极速版控制接⼝说明
 
1.数字换台

Intent intent = new Intent();

intent.setAction(“com.dianshijia.fasttv.action.CHANGE_CHANNEL_BY_NUM”);

intent.putExtra(“channel_num”, “1”); // 频道 channel_num,可以通过频道列表接⼝获取

intent.putExtra(“from”, “调⽤者包名”);

intent.setPackage(“com.dianshijia.fasttv”);

startService(intent);

2.切换上⼀频道

Intent intent = new Intent();

intent.setAction(“com.dianshijia.fasttv.action.CHANGE_CHANNEL_PRE”);

intent.putExtra(“from”, “调⽤者包名”);

intent.setPackage(“com.dianshijia.fasttv”);

startService(intent);

3.切换下⼀频道

Intent intent = new Intent();

intent.setAction(“com.dianshijia.fasttv.action.CHANGE_CHANNEL_NEXT”);

intent.putExtra(“from”, “调⽤者包名”);

intent.setPackage(“com.dianshijia.fasttv”);

startService(intent);

4.播放指定ID频道Intent intent = new Intent();

intent.setAction(“com.dianshijia.fasttv.action.CHANGE_CHANNEL_BY_ID”);

intent.putExtra(“channel_id”, “cctv5”); // 频道 channel_id,可以通过频道列表接⼝

获取

intent.putExtra(“from”, “调⽤者包名”);

intent.setPackage(“com.dianshijia.fasttv”);

startService(intent);

5.播放指定频道名称

Intent intent = new Intent();

intent.setAction(“com.dianshijia.fasttv.action.CHANGE_CHANNEL_BY_NAME”);

intent.putExtra(“channel_name”, “湖南卫视”); // 频道 channel_name,可以通过频道

列表接⼝获取

intent.putExtra(“from”, “调⽤者包名”);

intent.setPackage(“com.dianshijia.fasttv”);

startService(intent);

6.直接调起电视家极速版

Intent startIntent =

context.getPackageManager().getLaunchIntentForPackage(“com.dianshijia.fasttv”);

context.startActivity(startIntent);

 
四、 语音调用
 
目前电视家已和国内知名的语音技术公司思必驰(AI Speech)达成合作 ,将电视家相关调用操作全部集成到了思必驰电视语音助手中,如果你的应用尚未集成语音系统,可直接使用思必驰语音助手来实现相关调用,具体SDK和文档参见:https://www.dui.ai/docs/operation/#/ct_TV_Solution_Android
 
如果已有语音集成系统,通过上述API接口的使用,也可实现调用语音调用。
 
API若有使用相关使用问题,请联系邮箱:help@51dianshijia.com 或微信:dianshijiadashen