泰信论坛

 找回密码
 立即注册
查看: 30882|回复: 21
打印 上一主题 下一主题

dtvos2.0版本接口文档发布啦

[复制链接]

2

主题

7

帖子

40

积分

版主

Rank: 7Rank: 7Rank: 7

积分
40
楼主
发表于 2013-6-21 15:36:00 | 只看该作者

dtvos2.0版本接口文档发布啦

        泰信dtvos2.0的接口文档发布啦本接口:1.参照国标中间件;2.基于android系统;欢迎各位同仁批评和指正!

0

主题

12

帖子

165

积分

注册会员

Rank: 2

积分
165
沙发
发表于 2013-7-2 09:31:00 | 只看该作者
        能不能给一个实际的应用例子?       

3

主题

84

帖子

398

积分

版主

Rank: 7Rank: 7Rank: 7

积分
398
板凳
发表于 2013-7-5 16:13:00 | 只看该作者

demo

        这个论坛上传附件,貌似IE only。贴代码吧。

import android.util.Log;

import com.taixin.idtv.*;
import com.taixin.idtv.si.*;
import org.ngb.toolkit.channelscan.*;
import org.ngb.broadcast.dvb.tuning.*;
import org.ngb.broadcast.dvb.si.*;


public class DvbcScan {
    static final String TAG = "DvbcScanNit";

    public static final int SCAN_TYPE_MANUAL = ChannelScanEngine.CHANNELSCAN_TYPE_MANUAL;
    public static final int SCAN_TYPE_NIT = ChannelScanEngine.CHANNELSCAN_TYPE_NIT;

    ProgramManager progmgr;

    DvbcScanListener listener;
    ChannelScanEngine engine = null;
    int scanType = -1;
    int freqMHz, symKbps, qam;

    int tvcnt, radiocnt, freqcnt;
    int curfreqcnt;

    public DvbcScan(int type) {
        scanType = type;
    }

    public void setScanParams(int freqMHz, int symKbps, int qam) {
        this.freqMHz = freqMHz;
        this.symKbps = symKbps;
        this.qam = qam;
    }

    public void setListener(DvbcScanListener listener) {
        this.listener = listener;
    }

    public void start() {
        tvcnt = radiocnt = freqcnt = curfreqcnt = 0;

        try {
            engine = ChannelScanEngine.createInstance();
        } catch (Exception e) {
            e.printStackTrace();
            return;
        }

        DvbcTuningParameters[] param = new DvbcTuningParameters[1];
        param[0] = new DvbcTuningParameters(freqMHz * 1000, qam + 1, symKbps);
        engine.addChannelScanListener(scanlistener);

        try {
            engine.startScan(scanType, param);
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    public void cancel() {
        engine.cancel();
    }

    private ChannelScanListener scanlistener = new ChannelScanListener() {
        public void processEvent(ChannelScanEvent event) {
            if (event instanceof ChannelScanNITSuccessEvent) {
                ChannelScanNITSuccessEvent nit = (ChannelScanNITSuccessEvent)event;
                freqcnt = nit.getTransportStream().length;
            }
            else if(event instanceof ChannelScanSuccessEvent) {
                ChannelScanSuccessEvent succ = (ChannelScanSuccessEvent)event;
                SIService[] srvs = succ.getResult();
                if (srvs != null) {
                    int tv = 0, radio = 0;
                    for (int i=0; i<srvs.length; i++) {
                        short type = srvs[i].getServiceType();
                        if (type == SIServiceType.SERVICE_TYPE_DIGITAL_TELEVISION)
                            tv += 1;
                        else if (type == SIServiceType.SERVICE_TYPE_DIGITAL_RADIO_SOUND)
                            radio += 1;
                    }
                    tvcnt += tv;
                    radiocnt += radio;
                }
                curfreqcnt += 1;

                listener.OnDvbcScanEvent(curfreqcnt * 1.0f / freqcnt, tvcnt, radiocnt, DvbcScanListener.DVBC_SCAN_STATUS_SUCCESS);
            }
            else if(event instanceof ChannelScanFinishEvent) {
                ChannelScanFinishEvent finish = (ChannelScanFinishEvent)event;
                SIDatabase[] db = SIDatabase.getDatabase();
                SIService[] services = db[0].listServices();
                if (services != null) {
                    engine.saveScanResult();
                    progmgr = ProgramManager.getInstance();
                    progmgr.build(services);
                    progmgr.serialize();

                    TxDtvPlayer.getInstance().playDefault();
                }

                listener.OnDvbcScanEvent(1.0f, tvcnt, radiocnt, DvbcScanListener.DVBC_SCAN_STATUS_FINISH);
            }
            else {
                ChannelScanFailureEvent fail = (ChannelScanFailureEvent)event;
                Log.i(TAG, "scan failed, reason:" + fail.getReason());
                curfreqcnt += 1;

                listener.OnDvbcScanEvent(curfreqcnt * 1.0f / freqcnt, tvcnt, radiocnt, DvbcScanListener.DVBC_SCAN_STATUS_FAILED);
            }
        }
    };
}

0

主题

0

帖子

2

积分

新手上路

Rank: 1

积分
2
地板
发表于 2013-7-5 17:37:00 | 只看该作者
        好像下载不了呢       

3

主题

84

帖子

398

积分

版主

Rank: 7Rank: 7Rank: 7

积分
398
5#
发表于 2013-7-9 10:35:00 | 只看该作者
        可以下载啊。刚刚又下载试了一下。       

2

主题

7

帖子

40

积分

版主

Rank: 7Rank: 7Rank: 7

积分
40
6#
 楼主| 发表于 2013-7-17 09:41:00 | 只看该作者
        请问现在下载可以了吗?         

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
7#
匿名  发表于 2013-7-22 08:30:00
        下载学习一下。       

0

主题

12

帖子

165

积分

注册会员

Rank: 2

积分
165
8#
发表于 2013-7-27 00:14:00 | 只看该作者
        泰信公开源代码,赞一个!       
nagxj 该用户已被删除
9#
发表于 2013-8-30 11:34:46 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
yfkwh 该用户已被删除
10#
发表于 2013-8-30 16:12:24 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|泰信

GMT+8, 2024-5-5 22:05 , Processed in 0.085941 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表