public List<TPInfoBean> getTpInfoInSearchResult( NativeInstallation.Install_Search_Result_t searchResult) { Install_Tp_t[] tpList = searchResult.ptTpList; List<TPInfoBean> tpInfoBeans = new ArrayList<TPInfoBean>(); TPInfoBean tpInfoBean = null; if (tpList.length != 0) { for (int i = 0; i < tpList.length; i++) { tpInfoBean = new TPInfoBean(); int signalSource = tpList[i].eSignalSource; int netId = tpList[i].u16NetId; int onId = tpList[i].u16ON_Id; ; int tsId = tpList[i].u16TS_Id; int patVersion = tpList[i].u8Pat_Ver; NativeInstallation.DVBCore_Cab_Desc_t tunerDesc = (NativeInstallation.DVBCore_Cab_Desc_t) tpList[i].uTunerDesc; char tunerId = tunerDesc.getU8TunerId(); int fec_Inner = tunerDesc.geteFEC_Inner(); int fec_Outer = tunerDesc.geteFEC_Outer(); int mod = tunerDesc.geteMod(); int freq = tunerDesc.getU32Freq(); int symbRate = tunerDesc.getU32SymbRate(); tpInfoBean.setTunerType(signalSource); tpInfoBean.setTunerId(tunerId); tpInfoBean.setNetId(netId); tpInfoBean.setOriginalNetId(onId); tpInfoBean.setTranStreamId(tsId); tpInfoBean.setTunerFreq(freq); tpInfoBean.setTunerSymbRate(symbRate); tpInfoBean.setTunerEmod(mod); tpInfoBean.setEfecInner(fec_Inner); tpInfoBean.setEfecOuter(fec_Outer); tpInfoBean.setPatVersion(patVersion); tpInfoBeans.add(tpInfoBean); } } return tpInfoBeans; }
/** * <搜索节目> * * @see [类、类#方法、类#成员] */ public void searchChannelInfo() { dvb = new NativeInstallation(); dvb.installationInit(); // 注册消息监听 msgInstall = new MessageInstallation(handler); dvb.installMessageInit(msgInstall); Install_Cfg_t icfg = dvb.new Install_Cfg_t(); icfg.ptTimeout = dvb.new Install_Timeout_t(); // 指定Tuner的参数类型为C类型 icfg.eSignalSource = Config.DVBCore_Signal_Source_eDVBCORE_SIGNAL_SOURCE_DVBC; if (!hasBat) { icfg.u8SearchLimitFlag = 1; } else { // 0 has bat,1 no bat icfg.u8SearchLimitFlag = 0; } // 声明Tuner参数的对象 NativeInstallation.DVBCore_Cab_Desc_t tunerDesc = dvb.new DVBCore_Cab_Desc_t(); if (null != strInputFrequency && !"".equals(strInputFrequency)) { u32Freq = Integer.parseInt(strInputFrequency); } if (null != strSymbolRate && !"".equals(strSymbolRate)) { u32SymbRate = Integer.parseInt(strSymbolRate); } else { u32Freq = Integer.parseInt(getString(R.string.InputFrequencyDefault)); u32SymbRate = Integer.parseInt(getString(R.string.SymbolRateDefault)); } int eMod = CommonUtils.getModHandling(strQam); SharedPreferences spChannel = getSharedPreferences("double_tuner", 8); int tunerid = spChannel.getInt("radio_serviceId", 0); LogUtils.printLog(1, 3, TAG, "--->>> tuner id is " + tunerid); tunerDesc.setU8TunerId((char) tunerid); tunerDesc.setU32Freq(u32Freq); tunerDesc.setU32SymbRate(u32SymbRate); tunerDesc.seteMod(eMod); // manual search if (searchMode == Config.Install_Search_Type_eTP_SEARCH) { Log.i(TAG, "---Search Type--->>>---Single TP ---------"); icfg.eSearchType = Config.Install_Search_Type_eTP_SEARCH; icfg.u32MainTpNum = 0; icfg.u32NormalTpNum = 1; icfg.puNormalTpDescList = new NativeInstallation.DVBCore_Cab_Desc_t[1]; icfg.puNormalTpDescList[0] = tunerDesc; } // auto search if (searchMode == Config.Install_Search_Type_eAUTO_SEARCH) { Log.i(TAG, "---Search Type--->>>---Auto Search ---------"); icfg.eSearchType = Config.Install_Search_Type_eAUTO_SEARCH; icfg.u32MainTpNum = 1; icfg.u32NormalTpNum = 0; NativeInstallation.DVBCore_Cab_Desc_t[] puMainTpDescList = new NativeInstallation.DVBCore_Cab_Desc_t[1]; puMainTpDescList[0] = tunerDesc; icfg.puMainTpDescList = puMainTpDescList; } // all search if (searchMode == Config.Install_Search_Type_eALL_SEARCH) { Log.i(TAG, "---Search Type--->>>---All Search ---------"); icfg.eSearchType = Config.Install_Search_Type_eALL_SEARCH; icfg.u32MainTpNum = 1; icfg.u32NormalTpNum = 0; NativeInstallation.DVBCore_Cab_Desc_t[] puMainTpDescList = new NativeInstallation.DVBCore_Cab_Desc_t[1]; puMainTpDescList[0] = tunerDesc; icfg.puMainTpDescList = puMainTpDescList; } Log.i(TAG, "--------------------DVB Search Params ---------------------------"); Log.i(TAG, "---------Search Mode is----------------------->>>" + searchMode); Log.i(TAG, "---------Input Frequency is----------------------->>>" + tunerDesc.getU32Freq()); Log.i(TAG, "---------SysbolRate is----------------------->>>" + tunerDesc.getU32SymbRate()); Log.i(TAG, "---------QAM is----------------------->>>" + tunerDesc.geteMod()); Log.i(TAG, "---------HasBAT----------------------->>>" + hasBat); int reCode = dvb.installationStart(icfg); Log.i(TAG, "---------------------------------->>>>>>>>>>Re Code ----------->>>>>" + reCode); }