日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android FM 模块学习之四 源码解析(1)

發(fā)布時(shí)間:2024/3/26 Android 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android FM 模块学习之四 源码解析(1) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

前一章我們了解了FM手動(dòng)調(diào)頻,接下來(lái)我們要分析FM模塊用到的源碼。此源碼是基于高通平臺(tái)的,別的平臺(tái)都大同小異,只不過(guò)是平臺(tái)自己作了些小改動(dòng)而已。

首先要看的當(dāng)然是主activity,

?

FMRadio.java

?fmradio 類(lèi)啟動(dòng)FMRadioService.java 類(lèi)調(diào)用FmSharedPreferences類(lèi)進(jìn)行存儲(chǔ)數(shù)據(jù),PresetStation調(diào)整頻率

?setVolumeControlStream(AudioManager.STREAM_MUSIC); 音樂(lè)回放即媒體音量

?LoadedDataAndState 加載數(shù)據(jù)狀態(tài)

?HorizontalNumberPicker 水平刻度盤(pán)類(lèi)繼承LinearLayout?

?mPicker.setTextSize(mDisplayWidth/ TEXTSIZE_PARAMETER_FOR_NUMBER_PICKER); 設(shè)置字體的大小,屏幕寬度除以20

?mPicker.setDensity(outMetrics.densityDpi); 設(shè)置控件密度

?mPicker.setOnValueChangedListener 設(shè)置監(jiān)聽(tīng)事件

?valueToFrequency(newVal); 刻度滑動(dòng)選中的值,上升下降調(diào)整限制值FmConfig 配置文件里setLowerLimit(int lowLimit)在設(shè)置里選中地區(qū)時(shí)候的頻率取值范圍

?mPrefs.getFrequencyStepSize() ,獲得設(shè)置的步長(zhǎng)大小

?mHandler.post(mRadioChangeFrequency); 更新在刻度盤(pán)上顯示頻率信息、

?tuneRadio(int frequency) 調(diào)整fm 頻率

?

?FMRadioService.java 類(lèi)isFmOn() 方法:

?registerCallbacks 注冊(cè)回調(diào)IFMRadioServiceCallbacks 的對(duì)象、

?ServiceStub 繼承IFMRadioService.Stub 使用到WeakReferenc弱引用, WeakReference 是弱于 SoftReference 的引用類(lèi)型。弱引用的特性和基本與軟引用相似,區(qū)別就在于弱引用所指向的對(duì)象只要進(jìn)行系統(tǒng)垃圾回收,不管內(nèi)存使用情況如何,永遠(yuǎn)對(duì)其進(jìn)行回收(get() 方法返回 null)。

?IBindermBinder = new ServiceStub(this); bindService IBinder 等于serviceStub 對(duì)象。

?

fmOn() 部分代碼:

?/**

?* 當(dāng)來(lái)電話(huà)不是閑置的時(shí)候就返回false

?*/

?

if (TelephonyManager.CALL_STATE_IDLE != getCallState() ) {

?  return bStatus;

?}

?

mReceiver= new FmReceiver(FMRADIO_DEVICE_FD_STRING, fmCallbacks);

?FmReceiver 接受廣播類(lèi)繼承FmTransceiver

?/ * * * 構(gòu)造函數(shù)接收方對(duì)象,

?路徑
電臺(tái)和事件回調(diào)。

?

* @param devicePath 調(diào)頻設(shè)備路徑字符串。
回調(diào)事件回調(diào)處理
從調(diào)頻接收機(jī)* 事件。

?* /

?public FmReceiver(String devicePath, FmRxEvCallbacksAdaptorcallback) throws InstantiationException {

?  mControl = new FmRxControls();

?  mRxEvents = new FmRxEventListner();

  //registerClient(callback);

?  mCallback = callback;

?}

?

獲得FM 現(xiàn)在的狀態(tài)

?public int getFMState()

?{

?/* Current State of FM device */

?  int currFMState =FmTransceiver.getFMPowerState();

?  return currFMState;

?}

?

滑動(dòng)刻度盤(pán)動(dòng)畫(huà)效果:

?mAnimation= AnimationUtils.loadAnimation(this,R.anim.preset_select);

?靜音控件監(jiān)聽(tīng),點(diǎn)擊控件有聲無(wú)聲切換。

?mMuteButton.setOnClickListener(mMuteModeClickListener);

?喇叭與耳機(jī)監(jiān)聽(tīng)切換

?mSpeakerButton.setOnClickListener(mSpeakerClickListener);

?開(kāi)啟關(guān)閉fm 控件切換

?mOnOffButton.setOnClickListener(mTurnOnOffClickListener);

?向右調(diào)頻控件監(jiān)聽(tīng)

?mForwardButton.setOnClickListener(mForwardClickListener);

?mForwardButton.setOnLongClickListener(mForwardLongClickListener);

?向左調(diào)頻控件監(jiān)聽(tīng)

?mBackButton.setOnClickListener(mBackClickListener);

?mBackButton.setOnLongClickListener(mBackLongClickListener);

?單擊收藏按鈕把收藏頻率定位調(diào)頻到刻度盤(pán)上,長(zhǎng)期按鈕將刻度盤(pán)頻率收藏到按鈕上存儲(chǔ)到data 分區(qū)下的fmradio_prefs.xml文件 keytation_name0x1

?頻率顯示控件

?mTuneStationFrequencyTV= (TextView)findViewById(R.id.prog_frequency_tv);

?長(zhǎng)按頻率顯示控件監(jiān)聽(tīng)方法:

?mTuneStationFrequencyTV.setOnLongClickListener(mFrequencyViewClickListener);

?錄音視圖顯示與監(jiān)聽(tīng)事件

?mRecordingMsgTV= (TextView)findViewById(R.id.record_msg_tv);

?if (mRecordingMsgTV != null) {

?  mRecordingMsgTV.setOnClickListener(mRecordButtonListener);

?}

?

自動(dòng)關(guān)掉FM 時(shí)間顯示

?mSleepMsgTV= (TextView)findViewById(R.id.sleep_msg_tv);

?fm 信號(hào)強(qiáng)度

?mRSSI =(ImageView)findViewById(R.id.signal_level);

?if (mRSSI != null) {

?  mRSSI.setVisibility(View.INVISIBLE);

?}

?

顯示控件顯示信息等數(shù)據(jù)顯示

?protectedvoid setDisplayvalue()

?onRestart()

?獲取 IFMRadioService 請(qǐng)求焦點(diǎn)

?onStop 中方法調(diào)用private boolean isSleepTimerActive() 是否是睡眠。

?if(isSleepTimerActive()){

?  mSleepUpdateHandlerThread.interrupt();

?}

?

如果是睡眠活動(dòng)就睡眠更新線(xiàn)程中斷線(xiàn)程

當(dāng)錄音開(kāi)始,走onStop() 方法時(shí)候就停止錄音更新線(xiàn)程

?private boolean isRecording()

?if (null!= mRecordUpdateHandlerThread) {

?  mRecordUpdateHandlerThread.interrupt();

?}

?

public void onStart()

?用戶(hù)選擇高清晰多媒體顯示創(chuàng)建命令失敗.

?1 、如果未保存則調(diào)用onCreateDialog(int) ,然后再調(diào)用onPrepareDialog(int, Dialog)

?(2) 如果保存了對(duì)話(huà)框?qū)ο?#xff0c;則直接調(diào)用onPrepareDialog(int,Dialog), 不會(huì)再去create,所以有時(shí)候當(dāng)你再輸入框里無(wú)論如何輸入什么內(nèi)容,對(duì)話(huà)框的內(nèi)容都是第一次產(chǎn)生的。

?removeDialog(int) 是用來(lái)清除Activity 保存下來(lái)的Dialog對(duì)象,如果不加removeDialog將會(huì)導(dǎo)致無(wú)論在對(duì)話(huà)框里輸入什么內(nèi)容,

?彈出來(lái)的對(duì)話(huà)框始終都是第一次保留下來(lái)的,這里所以要加上它

?創(chuàng)建搜索dialog

?createSearchDlg(id,dlgBuilder)

?

?FMConfig.java 類(lèi)

?public int getRdsStd () {

?  return mRdsStd;

?}

?registerFMSettingListner(); 注冊(cè)收音機(jī)設(shè)置配置文件

?mPrefs.Load(); 調(diào)用FmSharedPreferences Load()方法獲取fmradio_prefs.xml數(shù)據(jù)

?遇見(jiàn)bug: 將設(shè)置地區(qū)自動(dòng)選擇印度(外單項(xiàng)目)

?/* LoadConfiguration */

?if(Locale.getDefault().equals(Locale.CHINA)) {

?  setCountry(sp.getInt(FMCONFIG_COUNTRY,REGIONAL_BAND_CHINA));

?} else {

?  setCountry(sp.getInt(FMCONFIG_COUNTRY, REGIONAL_BAND_NORTH_AMERICA));

?}

?

/* Last list the user was navigating */

?Local.getDafault() 在第一次刷機(jī)后設(shè)置本地語(yǔ)言后

?protected void onPause() 的時(shí)候,將信息保存mPrefs.Save();

?ScrollerText 控件繼承Handler

?/ * * * 移動(dòng)一個(gè)字符留下的文字和文章

?*SCROLLER_UPDATE_DELAY_MS 后延遲下更新消息。 * 如果滾動(dòng)整個(gè)字符串, 然后它會(huì)顯示整個(gè)字符串 * 并等待SCROLLER_RESTART_DELAY_MS 滾動(dòng)重啟 * /

?voidupdateText() 更新錄音時(shí)間

?停止錄音時(shí)間跟新

?void stopScroll() {

?  mStatus = SCROLLER_STOPPED;

?  removeMessages(SCROLLER_MSG_TICK);

?  removeMessages(SCROLLER_MSG_RESTART);

?  removeMessages(SCROLLER_MSG_START);

?  resetScroll();

?}

?

重新設(shè)置錄音時(shí)間顯示

?private void resetScroll()

?啟動(dòng)錄音時(shí)間

?void startScroll() {

?初始化搜索

?private void initiateSearch(int pty)

?resetSearch() 重新收索

?private void cancelSearch() 關(guān)閉收索

?初始化搜索列表

?private void initiateSearchList()

?初始化睡眠定時(shí)器

?private void initiateSleepTimer(long seconds) {

?  mSleepAtPhoneTime =(SystemClock.elapsedRealtime()) + (seconds * 1000);

?  Log.d(LOGTAG, "Sleep in seconds:" + seconds);

?  initiateSleepThread();

?}

?

初始化睡眠線(xiàn)程

?private void initiateSleepThread()

?

?Intent launchPreferencesIntent = new Intent().setClass(this,

?Settings.class);

?launchPreferencesIntent.putExtra(Settings.RX_MODE,true);

?startActivityForResult(launchPreferencesIntent,

?ACTIVITY_RESULT_SETTINGS);

?private void enableSpeaker() ? 揚(yáng)聲器可用

?private void updateExpiredRecordTime() 更新錄音時(shí)間

?private Runnable doRecordProcessing = new Runnable() 錄音進(jìn)度

?public void onResume()

?mService.registerCallbacks(mServiceCallbacks); 注冊(cè)回調(diào)service

?mService.cancelDelayedStop(FMRadioService.STOP_SERVICE); 延遲關(guān)閉FMRadioService

?public? boolean bindToService(Context context,ServiceConnection callback) 啟動(dòng)在FMRadio onStart()方法判斷條件啟動(dòng)FMRadioService

?if((mService == null ) && (false == bindToService(this, osc)))

?onDestroy() 方法中解綁nRegisterReceiver(mFmSettingReceiver);

?boolean isWiredHeadsetAvailable() 判斷耳機(jī)是否可用,在FMRadioService 類(lèi)里添加public void registerHeadsetListener()注冊(cè)耳機(jī)監(jiān)聽(tīng)事件,mHeadsetPlugged = (intent.getIntExtra("state", 0) == 1);狀態(tài)監(jiān)聽(tīng)

?Intent 里的public static final String ACTION_HEADSET_PLUG =

?"android.intent.action.HEADSET_PLUG"; 耳機(jī)靜態(tài)常量定義。

?

再啟動(dòng)FMRadioService 監(jiān)聽(tīng) registerHeadsetListener();耳機(jī)

?/ * *

?確定是否一個(gè)內(nèi)部天線(xiàn)。

?* FMOn

?返回緩存的值初始化。

?*

?* @return

?真正的如果內(nèi)部天線(xiàn)可用或連線(xiàn)

?*

?耳機(jī)插入,如果內(nèi)部天線(xiàn)是錯(cuò)誤的

?*沒(méi)有和有線(xiàn)耳機(jī)不是插入。

?* /

?

public boolean isAntennaAvailable()FMRadioService 類(lèi)

?public void readInternalAntennaAvailable() 確定是否有內(nèi)部天線(xiàn),調(diào)用類(lèi)FMReceivce 的父類(lèi)FMTransceiver類(lèi)發(fā)送接收信號(hào)類(lèi)

?public boolean getInternalAntenna() 方法,通過(guò)FmReceiverJNI 類(lèi)調(diào)用getControlNative方法。

?恢復(fù)設(shè)置默認(rèn)地區(qū)設(shè)置private voidRestoreDefaults()

?當(dāng)天線(xiàn)可以用的時(shí)候就調(diào)用UI 界面可用顯示

?private void enableRadioOnOffUI() {

?  boolean bEnable = isFmOn();

?  /* Disable if no antenna/headset isavailable */

?  if (!isAntennaAvailable()) {

?    bEnable = false;

?  }

?  enableRadioOnOffUI(bEnable);

?? }

?

調(diào)用此方法private void enableRadioOnOffUI(boolean bEnable) 顯示FMRadio.java UI界面

?boolean isCallActive() 電話(huà)呼叫活動(dòng),FMRadioService 類(lèi)isCallActive當(dāng)狀態(tài)不為零表示在通話(huà)中

?public boolean isCallActive()

?{   

???? //Non-zero: Call state is RINGING orOFFHOOK on the available subscriptions

?  //zero: Call state is IDLE on all theavailable subscriptions

?  if(0 != getCallState()) return true;

?    return false;

?}

?

private void enableRadio() 可使用收音機(jī)

?private void disableRadio() 不可用收音機(jī)

?private void resetRadio() 重新設(shè)置收音機(jī)

?public void clearStationList() 清除電臺(tái)列表信息

?public boolean fmConfigure() 收音機(jī)配置

?/ *

?設(shè)置調(diào)頻模塊自動(dòng)切換到另一個(gè)頻率

?*

?站如果一個(gè)頻率的信號(hào)強(qiáng)度比

?*目前調(diào)諧頻率。

?*

?*布爾bEnable::自動(dòng)切換到更強(qiáng)的交替頻率。

?*:不要切換到備用頻率。

?* @return真實(shí)如果設(shè)置自動(dòng)對(duì)焦模式api調(diào)用成功,錯(cuò)誤如果api失敗了。

?*:回調(diào)FmRxEvRadioTuneStatus時(shí)將調(diào)用

?*完成不同的頻率。

?* /

?調(diào)用FMRadioService 類(lèi) publicboolean enableAutoAF(boolean bEnable)方法。

?public void fmAudioOutputMode() 輸出立體聲音

?private void startRecording() 錄音開(kāi)始

?private void setRecordingStopImage() 錄音停止圖片設(shè)置

?private void setRecordingStartImage() 錄音開(kāi)始圖片設(shè)置、

?private void startRecordingTimer() 錄音啟動(dòng)的時(shí)間

?private void stopRecording() 停止錄音

?private boolean isRecording() 判斷是否在錄音

?private boolean isSpeakerEnabled() 判斷揚(yáng)聲器是可用

?private boolean stationExists(PresetStationstation ) 長(zhǎng)按收藏按鈕式電臺(tái)頻率是都存在

?private void addToPresets() 添加電臺(tái)頻率顯示到按鈕上

?FmSharedPreferences.addStation(selectedStation.getName(),selectedStation.getFrequency(),currentList);

?setupPresetLayout();

?

調(diào)用FmSharedPreferences 類(lèi)的addStation方法添加到mListOfPlists列表里

?private void resetSearchProgress() 重置搜索進(jìn)度

?updateSearchProgress() 更新搜索進(jìn)度

?setupPresetLayout() 安裝頻率布局,收藏頻率至按鈕上初始化

?updateStationInfoToUI() 更新電臺(tái)信息界面信息

?private boolean isFmOn() 收音機(jī)是否開(kāi)啟

?

/* 如果啟用了模擬路徑返回true */

?public boolean isAnalogModeEnabled() {

?  return misAnalogPathEnabled;

?}

?

/ * 返回調(diào)頻(Soc) 音頻硬件是否有限。

?* @return真如果調(diào)頻音頻是柔和的,假如果不低調(diào)。

?* /

?public boolean isMuted() {

?  return mMuted;

?}

?private boolean isScanActive() 掃描活動(dòng)布爾值

?private boolean isSeekActive() 查找活動(dòng)布爾值

?private boolean isSearchActive() 搜索活動(dòng)布爾值

?public PresetStation getCurrentTunedStation() 獲得現(xiàn)在調(diào)整電臺(tái)

?private void SeekNextStation() 在搜索查找下一個(gè)頻率

?private void initiateSearch(int pty) 初始化搜索

?/** SEEK Station with the matching PI */

?private void initiatePISearch(int pi) 需找匹配的頻率

?private void resetSearch() 從新搜索

?private void cancelSearch() 關(guān)閉搜索

?private void initiateSearchList() 初始化搜索列表

?private void initiateSleepTimer(long seconds)? 初始化睡眠計(jì)時(shí)器

?private void initiateSleepThread() 初始化睡眠線(xiàn)程

?private void endSleepTimer() 結(jié)束睡眠計(jì)時(shí)器時(shí)間

?private boolean hasSleepTimerExpired() 睡眠計(jì)時(shí)器停止

?private boolean isSleepTimerActive() 睡眠計(jì)時(shí)器活動(dòng)是否活動(dòng)

?private void updateExpiredSleepTime() 更新停止睡眠時(shí)間

?private String makeTimeString(long secs) 時(shí)間格式字符串

?private void tuneRadio(int frequency) 調(diào)整收音機(jī)頻率

?private void resetFMStationInfoUI() 從新設(shè)置收音機(jī)電臺(tái)顯示界面信息

?

IFMRadioServiceCallbacks 類(lèi)回調(diào)時(shí)候

?Runnable mRadioEnabled = new Runnable() 收音機(jī)可用

?Runnable mRadioDisabled = new Runnable() 收音機(jī)不可用

?Runnable mRadioReset = new Runnable() 收音機(jī)重新設(shè)置

?Runnable mUpdateStationInfo = new Runnable() 跟新收音機(jī)電臺(tái)信息

?Runnable mOnMute = new Runnable() 收音機(jī)靜音設(shè)置

?Runnable mOnStereo = new Runnable() 立體聲音

?Runnable mUpdateRadioText = new Runnable() 更新收音機(jī)文本信息

?Runnable mRadioChangeFrequency = newRunnable() 調(diào)整頻率

?Runnable mUpdateExtenRadioText = newRunnable() 更新延伸收音機(jī)文本信息

?Runnable mUpdateProgramService = newRunnable() 跟新service 進(jìn)度

?private void DebugToasts(String str, intduration) 彈出提示信息

?private void registerFMSettingListner()? 注冊(cè)設(shè)置改變監(jiān)聽(tīng)

?private void unRegisterReceiver(BroadcastReceiver myReceiver) 卸載注冊(cè)避免重復(fù)注冊(cè)報(bào)異常

?

?

下面分享的是FM模塊的保存方法,即FmSharedPreferences.java

?

??? FmSharedPreferences(Context context)在構(gòu)造方法中加載Load()方法

??? public void? Load(){
????????? Log.d(LOGTAG, "Load preferences ");
????????? if(mContext == null)
????????? {
???????????? return;
????????? }
????????? SharedPreferences sp = mContext.getSharedPreferences(SHARED_PREFS, Context.MODE_PRIVATE);
????????? mTunedFrequency = sp.getInt(PREF_LAST_TUNED_FREQUENCY, DEFAULT_NO_FREQUENCY);
????????? mRecordDuration = sp.getInt(LAST_RECORD_DURATION, RECORD_DUR_INDEX_0_VAL);
????????? mAFAutoSwitch = sp.getBoolean(LAST_AF_JUMP_VALUE, true);
????????? mAudioOutputMode = sp.getBoolean(AUDIO_OUTPUT_MODE, true);
????????? if(sp.getInt(FMCONFIG_COUNTRY, 0) == REGIONAL_BAND_USER_DEFINED) {
???????????? mBandMinFreq = sp.getInt(FMCONFIG_MIN, mBandMinFreq);
???????????? mBandMaxFreq = sp.getInt(FMCONFIG_MAX, mBandMaxFreq);
???????????? mChanSpacing = sp.getInt(FMCONFIG_STEP, mChanSpacing);
????????? }
??? ?
????????? int num_lists = sp.getInt(LIST_NUM, 1);
????????? if (mListOfPlists.size() == 0) {
????????? for (int listIter = 0; listIter < num_lists; listIter++) {
???????????????? String listName = sp.getString(LIST_NAME + listIter, "FM - " + (listIter+1));
???????????????? int numStations = sp.getInt(STATION_NUM + listIter, 1);
???????????????? if (listIter == 0) {
???????????????????? createFirstPresetList(listName);
???????????????? } else {
???????????????????? createPresetList(listName);
???????????????? }
???????????????? PresetList curList = mListOfPlists.get(listIter);
???????????????? for (int stationIter = 0; stationIter < numStations; stationIter++) {
????????????????????? String stationName = sp.getString(STATION_NAME + listIter + "x" + stationIter,
????????????????????????????????????????????????????????? DEFAULT_NO_NAME);
????????????????????? int stationFreq = sp.getInt(STATION_FREQUENCY + listIter + "x" + stationIter,
?????????????????????????????????????????????????????? DEFAULT_NO_FREQUENCY);
????????????????????? PresetStation station = curList.addStation(stationName, stationFreq);
??? ?
????????????????????? int stationId = sp.getInt(STATION_ID + listIter + "x" + stationIter,
????????????????????????????????????????????????? DEFAULT_NO_STATIONID);
????????????????????? station.setPI(stationId);
??? ?
????????????????????? int pty = sp.getInt(STATION_PTY + listIter + "x" + stationIter, DEFAULT_NO_PTY);
????????????????????? station.setPty(pty);
??? ?
????????????????????? int rdsSupported = sp.getInt(STATION_RDS + listIter + "x" + stationIter,
???????????????????????????????????????????????????? DEFAULT_NO_RDSSUP);
????????????????????? if (rdsSupported != 0) {
????????????????????????? station.setRDSSupported(true);
????????????????????? } else {
????????????????????????? station.setRDSSupported(false);
????????????????????? }
????????? /* Load Configuration */?? ?
??????????? setCountry(sp.getInt(FMCONFIG_COUNTRY, REGIONAL_BAND_NORTH_AMERICA));
????????? /* Last list the user was navigating */
????????? mListIndex = sp.getInt(LAST_LIST_INDEX, 0);
????????? if(mListIndex >= num_lists)
????????? {mListIndex=0;
????????? }
?????? }

??? 初始化取出sp一些數(shù)據(jù)
??? 根據(jù)系統(tǒng)初始化地區(qū)設(shè)置當(dāng)?shù)仡l率 ?
??? /*Load Configuration */
???????? if (Locale.getDefault().equals(Locale.CHINA)) {
???????????? setCountry(sp.getInt(FMCONFIG_COUNTRY, REGIONAL_BAND_CHINA));
???????? } else {
???????????? setCountry(sp.getInt(FMCONFIG_COUNTRY, REGIONAL_BAND_NORTH_AMERICA));
???????? }
???????? /* Last list the user was navigating */

??????????? 保存頻率
??? public void Save()
???????????? 設(shè)置默認(rèn)的地區(qū)
??? public static void SetDefaults()
??????????? 設(shè)置調(diào)整頻率
??? public static void setTunedFrequency(intfrequency)
??????????? 獲取調(diào)整頻率
??? public static int getTunedFrequency()
??????????? 獲取下一個(gè)頻率
??? public static int getNextTuneFrequency(intfrequency)
??????????? 獲取上一個(gè)頻率
??? public static int getPrevTuneFrequency(intfrequency)
??? / * *
??? * @param mFMConfiguration mFMConfiguration設(shè)置
??? * /
??? public static void setFMConfiguration(FmConfig mFMConfig)
??? /**
??????? *@return the mFMConfiguration
?????? */
????? public static FmConfig getFMConfiguration() {
???????? return mFMConfiguration;
?????? }
???   設(shè)置fm播放的頻率范圍
??? public static void setRadioBand(int band)
?????????? 獲取fm頻率范圍限制
??? public static int getRadioBand()
??  ? 獲取間隔
??? public static int getChSpacing()
???   設(shè)置遠(yuǎn)程數(shù)據(jù)服務(wù)
??? public static void setRdsStd(int std)
??? mFMConfiguration.setRdsStd(std);
??  ? 獲取遠(yuǎn)程數(shù)據(jù)服務(wù)
??? public static int getRdsStd()
??? mFMConfiguration.getRdsStd();
???   設(shè)置國(guó)家地區(qū)
??? public static void setCountry(intnCountryCode)
???   獲取國(guó)家地區(qū)
??? public static int getCountry()
??????????? 設(shè)置聲音輸出模板
??? setAudioOutputMode
???   設(shè)置錄音是否持續(xù)
??? public static void setRecordDuration(intdurationIndex)

?

?

總結(jié):個(gè)人認(rèn)為以上只能作為參考,但是大體框架變化不大。

?

轉(zhuǎn)載于:https://www.cnblogs.com/kings-boke/p/4269825.html

總結(jié)

以上是生活随笔為你收集整理的Android FM 模块学习之四 源码解析(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

91视频久久| 最近中文字幕在线中文高清版 | 欧美日本在线观看视频 | 四虎www. | 欧美激情精品 | 久久久影院官网 | www.天天综合| 最新中文字幕视频 | 天天干国产 | 国模吧一区 | 激情电影影院 | 国产精品资源网 | 久久毛片视频 | 亚洲免费精品视频 | 久草资源在线观看 | 人人爱人人做人人爽 | 久久精品一 | 日韩精品一区电影 | 亚洲欧美日韩精品久久奇米一区 | 亚洲天堂在线观看完整版 | 日韩在线理论 | av中文在线观看 | 色九九在线 | 色橹橹欧美在线观看视频高清 | 一本一本久久a久久 | 91c网站色版视频 | 久久久久久久久久久久av | 久久男人免费视频 | av永久网址 | 五月天丁香综合 | 麻豆高清免费国产一区 | 日韩av电影手机在线观看 | 午夜999| 久草综合在线观看 | 三级av在线免费观看 | 国产一区二区综合 | 一区二区三区视频 | 一区二区中文字幕在线 | 国产亚洲成av人片在线观看桃 | 手机在线日韩视频 | 粉嫩aⅴ一区二区三区 | 精品国产1区2区3区 国产欧美精品在线观看 | 成人性生交大片免费看中文网站 | 成人性生交大片免费看中文网站 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 精品国精品自拍自在线 | 五月天久久精品 | 97色涩 | 亚洲精品午夜aaa久久久 | 国产精品www | 四川妇女搡bbbb搡bbbb搡 | 久久99精品国产麻豆宅宅 | 国产美女久久久 | av电影av在线| 69中文字幕 | 久久精品国产一区二区三区 | 中文字幕av网站 | 在线久久 | 国产在线视频一区二区三区 | 精品久久久久久久久久久院品网 | 99久久精品国 | 免费99精品国产自在在线 | 欧美性受极品xxxx喷水 | 成人黄色电影在线观看 | 伊人热 | 欧美日韩伦理在线 | 五月婷婷综合网 | 久草9视频| 玖玖视频国产 | 成人免费视频免费观看 | 中文日韩在线视频 | 欧美日韩一级久久久久久免费看 | 国产一二区免费视频 | 999久久a精品合区久久久 | 久久热亚洲| 国产中文欧美日韩在线 | 91大神免费视频 | www.久久视频 | 97电影院网 | 亚洲精品一区二区精华 | 99精品热视频 | 亚州欧美精品 | 99视频久久| 久久精品7 | 久草视频在线免费看 | www四虎影院| 99久久精品日本一区二区免费 | 91av精品| 日本二区三区在线 | 四虎影视精品成人 | 欧美日韩精品网站 | 在线国产日本 | 亚洲综合一区二区精品导航 | 久久理论电影 | 99精品视频在线观看视频 | 国产精品99免费看 | www国产亚洲精品久久麻豆 | 97视频在线免费观看 | 91麻豆精品国产91久久久久久久久 | 久久男人中文字幕资源站 | 日韩av看片| 久久久久国产精品www | 黄色网址a| 亚洲影视九九影院在线观看 | 国产精品成人国产乱 | 国产精品18毛片一区二区 | 欧美一区成人 | 婷婷电影在线观看 | 精品国产一区二区三区日日嗨 | 亚洲精品视频久久 | 色综合久久久久久久久五月 | 在线观看亚洲精品 | 国产精品国产三级国产aⅴ无密码 | 国产丝袜制服在线 | 中文字幕免费观看 | 99色国产 | 亚洲不卡av一区二区三区 | 国产精品18久久久久久久久久久久 | 美女久久久久久久 | 黄色亚洲免费 | 九九视频一区 | 国产一区欧美日韩 | 久久视频这里有精品 | 久久成人毛片 | 免费观看版 | 欧美a在线免费观看 | 91超碰在线播放 | 91精品国产麻豆国产自产影视 | 国内丰满少妇猛烈精品播放 | 精品视频免费看 | 国产 日韩 欧美 中文 在线播放 | 亚洲精品国偷自产在线91正片 | 激情五月婷婷丁香 | a天堂中文在线 | 免费久久99精品国产婷婷六月 | 国产糖心vlog在线观看 | 日韩成人看片 | 天天se天天cao天天干 | 亚洲一区美女视频在线观看免费 | 三日本三级少妇三级99 | 亚洲久草网| 激情五月亚洲 | 久久久国内精品 | 免费看片网页 | 日本黄色免费看 | 色wwww| 国产免费a | 手机在线免费av | 狠狠五月婷婷 | 四虎成人精品永久免费av | 在线a视频 | www.看片网站 | 久草在线视频在线观看 | 久久久久久久久久久久亚洲 | 久久精品国产一区二区三 | 国产精品视频内 | 国产 视频 久久 | 日韩一区二区三区高清免费看看 | 在线综合 亚洲 欧美在线视频 | 丁香高清视频在线看看 | 中文字幕精品三区 | 中文字幕在线观看完整版电影 | 欧美日韩一区二区三区免费视频 | 日本丰满少妇免费一区 | 在线观看免费av网 | 久草视频免费在线播放 | 在线观看国产www | 99久久久久久久 | 丁香花在线视频观看免费 | 国产福利在线 | 99爱在线| 国产精品久久99综合免费观看尤物 | 欧美精品中文在线免费观看 | 97视频总站| 日韩精品久久久久久中文字幕8 | 天堂av免费 | 欧洲亚洲女同hd | 一区二区三区四区在线 | 成人欧美一区二区三区黑人麻豆 | 色婷婷综合久久久 | 色综合五月 | 日韩av女优视频 | www.婷婷色| 久久综合色天天久久综合图片 | 在线成人欧美 | 在线免费91 | 91高清免费 | 国产免费激情久久 | 人人爽人人爽人人片 | 91视频三区 | 免费观看一区二区三区视频 | 丁香花在线观看免费完整版视频 | 日本中文字幕在线看 | 久久精品成人欧美大片古装 | 婷婷成人亚洲综合国产xv88 | 成人三级网站在线观看 | 国产一二三区在线观看 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 69视频在线播放 | 欧美专区国产专区 | 久久精品电影院 | 黄色大片入口 | 欧美日韩中文字幕视频 | 99免费在线视频 | 人人看97 | a级片网站| 精品国产三级 | 男女免费av | 丁香婷婷自拍 | 99在线免费视频观看 | 美女中文字幕 | 亚洲欧洲国产日韩精品 | 天天草天天插 | 99久久精品视频免费 | 色婷婷在线播放 | 91免费网址| 草久在线播放 | 丁香国产视频 | 日日夜夜人人天天 | 永久免费的av电影 | 国产亚洲精品久久久久久久久久久久 | 国产精品va最新国产精品视频 | 91av手机在线 | 色婷婷色 | 日韩理论片中文字幕 | 日日夜夜综合 | 999成人 | 日韩中文字幕网站 | av中文字幕网址 | 久久99久久久久久 | 99精品国产高清在线观看 | 精品亚洲二区 | 国产精品免费在线视频 | av电影一区二区三区 | 国产精品综合在线观看 | 亚洲精品国产精品乱码不99热 | 欧美日韩亚洲在线观看 | 免费在线观看黄色网 | 911久久| 国产一级做a | 欧美日韩xxxxx| 黄色的视频网站 | 久久黄色成人 | 日韩免费二区 | 国产中文字幕在线观看 | 中文字幕av在线电影 | 亚洲精品成人免费 | 97超碰在线资源 | 国产亚洲欧美精品久久久久久 | 国产精品毛片久久蜜 | 91福利免费 | 国产精品九九视频 | 欧美黄在线 | 色中色亚洲 | 在线国产精品视频 | 久久99精品国产麻豆宅宅 | 成人在线免费视频 | 国产成人99久久亚洲综合精品 | 探花视频在线观看+在线播放 | 人人爽久久久噜噜噜电影 | www.久草.com| 久草在线最新免费 | 成人小电影在线看 | 天天综合在线观看 | 中文在线√天堂 | 亚洲精品黄色片 | 欧美日韩成人一区 | 欧美一级视频免费 | 久久久综合香蕉尹人综合网 | 精品毛片一区二区免费看 | 国产韩国日本高清视频 | 狠狠色丁香婷婷综合橹88 | 欧美日韩裸体免费视频 | 免费观看一区 | 欧美一区二区在线免费看 | 国产系列 在线观看 | 国内精品视频在线播放 | 91精品欧美| 丰满少妇在线观看资源站 | 国产亚洲精品美女久久 | 欧美资源 | 免费看久久久 | 97视频亚洲| 免费午夜视频在线观看 | av噜噜噜在线播放 | 精品国产欧美一区二区三区不卡 | av黄色成人 | 天天干com | 欧美激情在线看 | 中文字幕色综合网 | 91探花在线视频 | 欧美日本不卡 | 久久伊人色综合 | 福利视频一区二区 | 欧美成人精品三级在线观看播放 | 91在线入口 | 中文av日韩| 成人国产电影在线观看 | 免费高清看电视网站 | 免费精品视频在线观看 | 亚洲国产成人久久 | 丁香一区二区 | www.色就是色| 极品美女被弄高潮视频网站 | 国产色影院| 国产在线观看一 | 视频国产一区二区三区 | 国产手机在线观看视频 | 西西444www大胆高清视频 | 一区二区三区免费在线播放 | 91成年人在线观看 | 亚洲高清在线精品 | 视频在线91 | 亚洲影视九九影院在线观看 | 欧美特一级片 | 日韩欧美视频在线播放 | 看毛片网站 | 日韩精品无码一区二区三区 | 久久综合久久八八 | 亚洲专区欧美 | 99婷婷狠狠成为人免费视频 | 天天天天天操 | 色噜噜狠狠狠狠色综合久不 | 一本一本久久a久久精品综合妖精 | 国产视频每日更新 | 国产精品美女久久久 | www.91av在线| 国产精品一区欧美 | 天天骚夜夜操 | 日本精品va在线观看 | 国产一区二区手机在线观看 | 国产精品久久久久久久久久99 | 成人资源站 | 九九免费在线视频 | 国产精品第 | 91亚洲精品国偷拍 | 天天干视频在线 | www.com.黄| 欧洲激情综合 | 国产中文字幕久久 | 99精品视频一区二区 | 国产精品成人久久久久久久 | 天天爱av导航 | 人人干人人模 | 亚洲一级片在线看 | 麻豆视频大全 | 中文字幕免费一区二区 | 国产xx在线| 又爽又黄又刺激的视频 | 久久久精品 一区二区三区 国产99视频在线观看 | 黄网站色视频 | 91成年视频 | 日韩av在线高清 | 亚欧洲精品视频在线观看 | 天天干天天操天天操 | 久草免费在线观看视频 | 黄色三级网站 | 99r在线视频 | 久久精品免费电影 | 色就是色综合 | 免费观看视频的网站 | 日韩欧美xxxx | 91喷水| 三级av网站| 国内三级在线观看 | 伊在线视频 | 九九久久在线看 | 精品在线视频一区 | 综合网成人 | 国产亚洲精品久久久久久移动网络 | 麻豆国产精品视频 | 久久久久国产精品一区二区 | 日韩理论电影网 | 国产一卡久久电影永久 | 中文字幕精品三区 | 五月天综合 | 国产精品成人一区二区 | 7777精品伊人久久久大香线蕉 | 国产又黄又爽又猛视频日本 | 亚洲精品综合欧美二区变态 | 激情五月av | 国产精品a久久 | 精品久久久久久亚洲综合网站 | 欧美激情视频久久 | 亚洲黄色大片 | 国产精品久久久久久久久久久久午 | 999视频在线观看 | 999抗病毒口服液 | 国产日产在线观看 | 国产成人精品在线 | 亚洲电影久久久 | 97碰碰视频| 久久国语露脸国产精品电影 | 97在线观看免费视频 | 亚洲国产精品一区二区久久hs | 国产视频中文字幕在线观看 | 奇米影视8888 | 九九国产视频 | 亚洲电影久久 | 91视频在线 | 色小说在线 | 日韩在线 一区二区 | 亚洲精品天天 | 日本狠狠色 | 欧美福利精品 | 亚洲日本韩国一区二区 | 狠狠地日 | 一区二区三区在线影院 | 国产特级毛片aaaaaa毛片 | 久久久久久久久久影视 | 久久午夜精品影院一区 | 久久精品中文字幕少妇 | 日韩精品一区二区在线观看 | 久久国产精品精品国产色婷婷 | 色丁香婷婷 | 色偷偷人人澡久久超碰69 | 97视频在线免费观看 | 国产原创av在线 | 免费看成人片 | 婷婷色综合网 | 中文字幕免费成人 | 色婷婷激婷婷情综天天 | 久久a v电影 | 亚洲精品高清在线观看 | 中文字幕第一页在线视频 | 国产视频在线一区二区 | 99性视频 | 久草视频在线播放 | 久久免费精品国产 | 亚洲电影图片小说 | 国产成人在线观看 | 欧美a级在线| 亚洲黄色免费网站 | 久草在线免 | 亚洲午夜小视频 | 国产又粗又猛又色又黄网站 | 97视频中文字幕 | 99精品毛片 | 国产精品美女网站 | 欧美一级日韩三级 | 美女视频永久黄网站免费观看国产 | 九九免费在线观看 | 亚洲国产福利视频 | 亚洲成人av在线电影 | 亚洲人在线7777777精品 | 中文字幕精品一区二区三区电影 | 三级视频国产 | 欧美日韩一二三四区 | 国产美女网站在线观看 | 日韩欧美xxx | 中文字幕乱码电影 | 欧美日韩中文在线观看 | 午夜丁香视频在线观看 | 成人在线免费看视频 | 天天操天天能 | 欧美一区二区三区四区夜夜大片 | 欧美成人在线网站 | 午夜国产一区二区 | 三级黄色片子 | 免费观看一级特黄欧美大片 | 成人丁香花 | 精品一区二区在线免费观看 | 狠狠操天天射 | 99精品国产福利在线观看免费 | 亚洲人人精品 | 中文字幕在线看视频 | 国产精品久久电影观看 | 99精品色| 国产精品久久久久影视 | 少妇性bbb搡bbb爽爽爽欧美 | 少妇性bbb搡bbb爽爽爽欧美 | 高清不卡一区二区三区 | 色综合天天综合在线视频 | 色综合久久精品 | 久久这里只精品 | 久久国内精品视频 | 国产精品高清在线观看 | 青青河边草免费视频 | 黄av资源 | 日韩免费看 | 国产精品一区二区无线 | 日韩精品极品视频 | 91精品91| 永久免费在线 | 婷婷六月天在线 | 九九精品视频在线观看 | 日韩黄色一区 | 成人av视屏 | 日韩视频在线播放 | 久久国产精品精品国产色婷婷 | 久草视频在线资源站 | 91成人久久 | 在线视频1卡二卡三卡 | 日韩久久久久久久久久久久 | 国产精品2区 | 夜夜操网站 | 伊人狠狠操 | 欧美一级欧美一级 | 国产在线一区观看 | 2019国产精品| 91香蕉视频污在线 | 91精品久久久久久粉嫩 | 国产精品毛片网 | 亚洲欧洲精品一区 | 精品免费一区二区三区 | 日日夜夜精品网站 | 激情综合啪 | 99久久免费看 | 在线观看视频一区二区三区 | 五月婷婷狠狠 | 日日干网址 | 在线日韩精品视频 | 免费观看一级 | 超碰人人草 | 精品五月天| 国产剧情亚洲 | 91在线免费视频 | 黄色免费视频在线观看 | 欧美在线视频日韩 | 天天天天色综合 | 久久精品在线视频 | 一本色道久久精品 | 美女网站久久 | 日韩丝袜在线 | 中文字幕首页 | 国产福利电影网址 | 在线观看成人小视频 | 久久成人麻豆午夜电影 | 国产免费av一区二区三区 | 福利电影一区二区 | 欧美日韩精品影院 | 日韩精品最新在线观看 | 亚洲精品国偷自产在线91正片 | 国产精品一区在线观看 | 丁香在线视频 | 91精品免费在线视频 | 久久国产精品第一页 | 色成人亚洲 | 91网免费观看 | 国产视频在线观看一区 | 99精品在线 | 亚洲精品国产第一综合99久久 | 欧美一区在线观看视频 | 成人免费毛片aaaaaa片 | 黄色免费在线看 | 色com | 国产精品白浆 | 狠狠色噜噜狠狠狠狠2022 | 日韩精品网址 | 日韩精品不卡在线 | 日韩在线网址 | 波多野结衣电影久久 | 欧美日本中文字幕 | 日本午夜在线亚洲.国产 | 日韩精品在线看 | 97视频免费在线看 | 综合网欧美 | 91视频国产免费 | 99国产情侣在线播放 | 久在线观看视频 | 欧美日韩中文国产一区发布 | 久久 亚洲视频 | 国产第一页福利影院 | 久久九九久久 | 欧美日韩在线免费观看视频 | 国产免费xvideos视频入口 | 成人一级片视频 | 日本中文字幕在线一区 | 99精品网站| 国产一级电影网 | 久久综合久久综合这里只有精品 | 亚洲午夜精品久久久久久久久久久久 | 黄色特级一级片 | 亚洲国产精品成人av | 成人福利在线观看 | av片中文 | 久久伊人五月天 | 日韩久久网站 | 久草视频网 | 亚洲日本欧美 | 黄色网www| 天干啦夜天干天干在线线 | 综合色婷婷 | 久久久久成人精品免费播放动漫 | 国产真实精品久久二三区 | 欧美大片www | 国产精品久久久网站 | 国产亚洲精品福利 | 日本久久久影视 | 99精品视频在线观看 | 婷婷色亚洲 | 在线观看mv的中文字幕网站 | 91成年视频| 黄色小说免费在线观看 | 久久精品国产亚洲精品 | 黄色小说网站在线 | 久久99国产一区二区三区 | 国产精品国产三级国产 | 久久久久二区 | 黄色大片中国 | 国产精品美女免费视频 | 99久久夜色精品国产亚洲96 | 久久久久二区 | 色婷婷九月 | 久久国产精品免费观看 | 欧美贵妇性狂欢 | 欧美综合在线视频 | 日韩中文久久 | 精品视频99 | 97精品一区二区三区 | 四虎永久免费 | 亚洲激精日韩激精欧美精品 | 岛国av在线 | 国产精品高 | 久久高清 | 91精品国产一区二区在线观看 | 亚洲综合一区二区精品导航 | 久草在线 | 久久黄色小说视频 | 欧美性超爽| 欧美日韩国产一二三区 | 天堂在线视频中文网 | 国产99区 | www.久久久com | 69精品| 手机看片午夜 | 亚洲欧美在线视频免费 | 成人av在线一区二区 | 夜夜天天干 | 日韩精品大片 | 久久久久国产一区二区 | 久久久久99精品国产片 | 日韩欧美在线国产 | 久久你懂得| 99精品视频在线播放观看 | 91成人天堂久久成人 | 久久99久久99久久 | 久久久久久久久影院 | 天天干,天天射,天天操,天天摸 | 91视频啊啊啊 | 日韩资源在线 | 日韩视频一区二区在线 | 婷婷色在线 | 日韩色综合网 | 奇米网777 | 欧美污网站| 国产麻豆果冻传媒在线观看 | 久久久久久久久久久福利 | 欧美最猛性xxxxx免费 | 一二三区视频在线 | 狠狠地操 | 在线精品视频在线观看高清 | 日韩av中文字幕在线免费观看 | 日本中文字幕视频 | 在线精品视频免费观看 | 日韩免费视频 | 一区二区三区在线免费观看 | 国产a国产a国产a | 91视频国产高清 | 人人爽人人插 | 成人小视频在线免费观看 | 欧美91精品国产自产 | 日韩久久一区二区 | 久久精品欧美视频 | av先锋中文字幕 | 国产精品婷婷 | 日韩精品一区二区三区在线视频 | av观看免费在线 | 国产一级一级国产 | 国产精品午夜在线观看 | 久精品视频在线观看 | 亚洲三级在线免费观看 | 久久久久久久久免费 | 婷婷激情综合五月天 | 亚洲人在线 | 精品国产色 | 97成人免费视频 | 麻豆国产露脸在线观看 | 永久中文字幕 | 99久久夜色精品国产亚洲96 | 亚洲国产免费网站 | 欧美另类高清 | 国产区久久 | 又黄又爽又刺激的视频 | 国产精品视频999 | 日韩在线视频一区 | av3级在线| 三日本三级少妇三级99 | 国产 一区二区三区 在线 | 色片网站在线观看 | 成年人视频在线免费播放 | 国产一区二区三区在线免费观看 | 日韩精品综合在线 | 久色伊人 | 亚洲精品裸体 | 成年人免费在线观看网站 | 日韩免费不卡av | av免费网站| 久久国产精品色婷婷 | 中文字幕2021 | 久章操| 国产高清无av久久 | 成人三级av| 国产一级黄色av | 国产一区二区三区在线免费观看 | 国产精品免费视频观看 | 亚洲精品乱码久久久久久高潮 | 一区二区三区视频在线 | 97色在线观看 | 在线观看91精品视频 | 91九色最新 | 在线 你懂| 免费久久视频 | 91黄色在线视频 | 国内视频在线 | 天天操网 | 一区二区三区在线免费播放 | 国产精品美乳一区二区免费 | 黄色精品在线看 | 国产在线欧美 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产精品区一区 | 99久久精品免费看国产麻豆 | 精品a视频| 99在线精品免费视频九九视 | 最新超碰| 久久精品一区二区三区中文字幕 | 999成人国产 | 久久久亚洲国产精品麻豆综合天堂 | 久久综合九色欧美综合狠狠 | www.狠狠操.com | 国产在线a视频 | 中文字幕乱在线伦视频中文字幕乱码在线 | 米奇四色影视 | 久久6精品 | 精品在线播放视频 | 国产在线一线 | 欧美日韩免费观看一区二区三区 | 91视频免费国产 | 日韩午夜高清 | 日日夜操 | 日本69hd| 亚洲欧美日韩一级 | 日韩视频免费观看高清完整版在线 | 午夜影院先 | 国产精品毛片一区二区三区 | 亚洲视频电影在线 | 国产区网址 | 国产手机在线视频 | 日韩av一区二区在线影视 | 欧美大香线蕉线伊人久久 | 激情一区二区三区欧美 | 天天操人 | 国产一级91| 欧美精品乱码99久久影院 | 国产日韩欧美综合在线 | 国产亚洲va综合人人澡精品 | 成人一区二区在线观看 | 人人干干人人 | 日韩免费一级a毛片在线播放一级 | 国产免费黄色 | 超碰成人av | 91桃色国产在线播放 | 五月天九九 | 国产精品麻豆视频 | www.狠狠操 | 91豆花在线| 国产福利精品视频 | 国产精品理论片在线观看 | 92中文资源在线 | 国产五码一区 | 免费看特级毛片 | 麻豆系列在线观看 | 在线观看成人网 | 久久草草影视免费网 | 91精品欧美 | 91高清视频在线 | 欧美成人999 | 欧美色综合久久 | 91影视成人| 亚洲精品电影在线 | 国产四虎在线 | 中文字幕免费不卡视频 | 中文字幕成人在线 | 亚洲成人动漫在线观看 | 欧美美女视频在线观看 | 麻豆久久久久 | 天堂av一区二区 | 国产人成在线视频 | 久久久影片 | 成人毛片a | 国产不卡一二三区 | 久久精品人 | 一级国产视频 | 日韩色爱| 欧美精品乱码99久久影院 | 草久电影| av先锋中文字幕 | 亚洲综合色丁香婷婷六月图片 | 久久精品直播 | 97中文字幕 | 免费在线观看a v | 综合久久久久久久 | 香蕉视频在线视频 | 国产精品wwwwww | 国产高清免费 | 日韩黄色免费 | 中中文字幕av在线 | 中文字幕在线观看视频一区二区三区 | 五月天电影免费在线观看一区 | 天天操天天射天天爽 | 午夜狠狠干 | 99精品偷拍视频一区二区三区 | 日本免费久久高清视频 | 亚洲国产精品免费 | 国产一区福利在线 | 狠狠干网址 | 又黄又刺激 | 成人黄色av网站 | 91精品国产99久久久久久红楼 | 国产高清视频色在线www | 亚洲午夜久久久久久久久 | 日韩综合第一页 | 亚洲精品一区二区在线观看 | 午夜国产在线 | 97精品国产一二三产区 | 国产精品 亚洲精品 | 黄a网| 在线观看自拍 | 久久精品国产第一区二区三区 | 欧美福利网址 | 久久男人影院 | www..com黄色片 | 国产精品久久久久久久久久白浆 | 欧美精品中文字幕亚洲专区 | 久久久国产99久久国产一 | 亚洲午夜小视频 | 99热国产在线中文 | 国产喷水在线 | 亚洲精欧美一区二区精品 | 麻豆视传媒官网免费观看 | 亚洲va欧美va人人爽春色影视 | 亚洲天堂精品视频 | 亚洲一区不卡视频 | 日韩理论片在线 | 亚洲午夜精品在线观看 | 久久97视频| 国产视频精选 | 国产精品久久久久久久久久久久午 | 一级欧美一级日韩 | 九九九九热精品免费视频点播观看 | 狠狠狠色丁香婷婷综合久久88 | 国产二区视频在线观看 | 欧美专区国产专区 | 欧美精品第一 | 欧美激情视频一区二区三区免费 | 久久激情五月丁香伊人 | 91一区二区三区久久久久国产乱 | 日韩成人免费电影 | 国产乱码精品一区二区三区介绍 | 久草成人在线 | 免费看色视频 | 麻豆国产在线视频 | 欧美了一区在线观看 | 99热最新在线 | 青草视频在线播放 | 在线电影 一区 | 日韩一级电影网站 | 天天亚洲综合 | 久久人人艹| 欧美日韩裸体免费视频 | 免费一级日韩欧美性大片 | 久久久精品综合 | 亚洲黄色免费观看 | 日本三级国产 | 在线黄色av电影 | 91视频在线免费下载 | 九九九热精品免费视频观看网站 | 国产精品毛片一区二区在线 | 欧美一级视频免费看 | 国产99精品| 激情黄色一级片 | 免费黄色激情视频 | 日韩电影久久久 | 国产精品久久久久久一二三四五 | 国产免费高清视频 | 久久久久综合网 | 精品久久九九 | 色综合色综合久久综合频道88 | 99九九热只有国产精品 | 久久久久亚洲精品中文字幕 | 中文字幕有码在线播放 | 日韩91在线| 日韩区视频 | 国产精品九九久久久久久久 | 4438全国亚洲精品观看视频 | 香蕉日日 | 日本少妇视频 | 国产精品igao视频网入口 | 狠狠操在线 | 日韩三级.com | 欧美a√在线| 激情导航| 伊人婷婷综合 | 青春草国产视频 | 天堂在线一区二区 | 国产麻豆精品一区二区 | 狠色狠色综合久久 | 天堂在线v | 久久网站最新地址 | 精品国偷自产在线 | 天堂在线视频免费观看 | 亚州欧美视频 | 日日夜夜操av | 亚洲国产高清在线观看视频 | 亚洲最大在线视频 | 午夜视频免费 | 久久久精品小视频 | 国产精品久久久久久久久岛 | 午夜电影 电影 | 高潮毛片无遮挡高清免费 | 狠狠艹夜夜干 | 91日韩国产 | 久草在线久草在线2 | 国产精品一区二区久久久 | 亚洲国产日韩av | 99精品毛片 | 欧美a视频在线观看 | 国产精品扒开做爽爽的视频 | www.xxxx欧美| 奇米网8888| 一区在线观看 | 5月丁香婷婷综合 | 麻豆视频在线 | 亚洲精选视频免费看 | 最新国产在线视频 | 最新中文在线视频 | 欧美精品久久久久久久久久白贞 | 天天操天天综合网 | 国产91在线免费视频 | 国产在线色 | 69视频在线播放 | 亚洲精品国产精品乱码在线观看 | wwwwww黄| 在线观看 国产 | 日韩免费小视频 | 综合精品久久 | 久久综合久久久 | 色婷婷av一区 | 日本韩国欧美在线观看 | 亚洲视频一区二区三区在线观看 | 国产成人一区二区三区影院在线 | 免费91麻豆精品国产自产在线观看 | 欧美日韩在线电影 | 91黄色影视 | 干天天 | 在线观看的黄色 | 亚洲黄网站 | 日韩精品一区二区在线 | 九九视频免费在线观看 | 亚洲高清91 | 国产精品一码二码三码在线 | 色先锋av资源中文字幕 | 人人爽爽人人 | 国产午夜小视频 | 日韩电影一区二区三区 | av中文字幕第一页 | 亚洲精品久久久久中文字幕m男 | 正在播放一区二区 | 瑞典xxxx性hd极品 | 992tv在线| 久久66热这里只有精品 | 日韩久久网站 | 中文字幕乱码视频 | 美女久久久久久久久久久 | 久久久美女 | 成人免费一级片 | 特级片免费看 | 国产在线视频在线观看 | 色综合久久久久网 | 91完整版观看 | 国产a级片免费观看 | 成人免费视频在线观看 | 伊人永久在线 | 久久精品99| 日韩毛片在线免费观看 | 国产一区二区在线观看视频 | 久久免费视屏 | 麻豆94tv免费版 | 国产美女精品视频免费观看 | 久久国内视频 | 日韩高清免费电影 | 狠狠狠色丁香婷婷综合激情 | 精品中文字幕在线播放 | 日韩理论电影网 | 超级碰视频 | 青春草国产视频 | 日韩二区三区在线 |