泰信论坛

标题: dtvos2.0版本接口文档发布啦 [打印本页]

作者: felixfb    时间: 2013-6-21 15:36
标题: dtvos2.0版本接口文档发布啦
        泰信dtvos2.0的接口文档发布啦本接口:1.参照国标中间件;2.基于android系统;欢迎各位同仁批评和指正!
作者: 雨天的太阳    时间: 2013-7-2 09:31
        能不能给一个实际的应用例子?       
作者: lanyy    时间: 2013-7-5 16:13
标题: 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);
            }
        }
    };
}

作者: zhangmingji    时间: 2013-7-5 17:37
        好像下载不了呢       
作者: lanyy    时间: 2013-7-9 10:35
        可以下载啊。刚刚又下载试了一下。       
作者: felixfb    时间: 2013-7-17 09:41
        请问现在下载可以了吗?         
作者: 天天快乐    时间: 2013-7-22 08:30
        下载学习一下。       
作者: 雨天的太阳    时间: 2013-7-27 00:14
        泰信公开源代码,赞一个!       
作者: nagxj    时间: 2013-8-30 11:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: yfkwh    时间: 2013-8-30 16:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: nagxj    时间: 2013-9-1 22:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: caminopro    时间: 2013-9-15 08:40
文档在那里?
作者: dongyingjie    时间: 2013-10-23 16:20
没什么东西下载啊?骗人的??
作者: GreenDream    时间: 2013-10-23 16:53
楼主,没有附件呢。。。
作者: taixin_stone    时间: 2013-10-24 16:03
附件在哪? 怎么下载
作者: felixfb    时间: 2013-10-30 11:57
由于论坛更换服务器,造成api的附件的丢失,请同仁们谅解,现在附件补在了6楼,请大家去下载吧
作者: 1401    时间: 2013-12-17 15:19
好帖,确实好帖!
作者: zhangyu0309    时间: 2014-7-9 15:14
强烈感谢楼主
作者: a412537383    时间: 2014-11-13 12:40
很好的技术论坛也
作者: 496361700    时间: 2014-11-13 12:44
可以啊,感谢楼主
作者: way    时间: 2016-4-8 09:22
感谢公开文档。
只是还不知道怎么着手。
作者: bvphd24    时间: 2016-10-4 21:43
沙发,板凳都没偶的份了。












同心米粉 同心米粉批发 同心米粉价格




欢迎光临 泰信论坛 (http://taixin.cn/bbs/) Powered by Discuz! X3