日本美女视频网站观看-一二三四国产精品一区-精品伦子一区二区三区-亚洲中文字幕人妻在线

您的位置:首頁   >  關于我們  >  新聞動態(tài)

大彩串口屏4G應用-HTTP下載文件

發(fā)布人:大彩科技發(fā)布日期:2021-06-25

演示視頻


一、適用范圍


本文檔適合大彩PM系列串口屏產(chǎn)品使用。




二、開發(fā)環(huán)境版本


 1  VisualTFT軟件版本:V3.0.1.1112及以上的版本。

版本查看:

1) 打開VisualTFT軟件啟動頁面如圖2-1軟件版本,右上角會顯示的軟件版本號;

圖2-1軟件版本


2) 打開VisualTFT,在軟件右下角可以查看軟件版本圖2-2軟件版本,最新版本可登錄http://www.botecn.com/進行下載。

圖2-2軟件版本


 2  串口屏硬件版本:M系列固件 >= V6.3.257.00。

版本查看:

a) 查看屏幕背面版本號貼紙;

b) VisualTFT與屏幕聯(lián)機成功后,右下角顯示的版本號。




三、概述


本例程中,介紹4G的HTTP下載的應用,通過下載圖片、視頻、音頻說明下載流程。




四、參考資料


 1 《LUA 腳本API V1.4》可通過以下鏈接下載物聯(lián)型開發(fā)包獲取:

http:/www.botecn.com/index.php?s=/List/index/cid/19.html

 2 《LUA基礎學習》可通過以下鏈接下載物聯(lián)型開發(fā)包獲取:

http:/www.botecn.com/index.php?s=/List/index/cid/19.html

 3  LUA腳本初學者可以通過下面鏈接進行學習。

http://www.runoob.com/lua/lua-arrays.html

 4  AT指令,可以通過下面子連接了解

Uhttp://www.openluat.com/Product/file/asr1802/Luat%204G模塊AT命令手冊V4.2.8.pdfU

 5  Air系列4G模塊AT版本HTTP應用說明(若連接失效請在LUAT社區(qū)中查找)

https://ask.openluat.com/article/626/0




五、教程實現(xiàn)


本文主要將以下2點進行說明:

1. 準備工程素材;

2. 配置串口屏工程;






5.1 準備工程素材

5.1.1 準備工程素材

在實現(xiàn)例程前需要作以下3個準備:

1. 硬件平臺;

2. 軟件平臺;

3. UI素材;

該例程使用大彩M系列7寸串口屏DC80480M070_1111_0T為驗證開發(fā)平臺。如圖5-1所示;

5-1  M系列7寸串口屏


其他尺寸的串口屏均可借鑒此教程。


5.1.2 軟件平臺

使用大彩自主研發(fā)的上位機軟件VisualTFT配置工程,登錄http://www.botecn.com/下載。如圖5-2所示

圖5-2下載軟件






5.2 配置串口屏工程

本文主要介紹以下2點:

(1) 畫面配置

(2) LUA編輯


5.2.1 畫面配置

在畫面ID0中,觸發(fā)下載、下載過程、4G信號值及運營商3部分組成。

觸發(fā)下載:3個按鈕控件,作為觸發(fā)下載條件。

  • 控件ID1~3依次為圖片下載、視頻下載以及音頻下載。

下載過程:控件ID4~8作為下載過程的體現(xiàn):

  • 文本控件ID4用于顯示下載速度(min/Kb)
  • 文本控件ID5顯示下載信息
  • 進度條控件ID6為顯示下載進度
  • 文本控件ID7用于顯示下載進度百分比
  • 文本控件ID8顯示 ‘當前已下載大小/總下載大小’,單位Kb

4G信號和運營商:圖標控件控件ID10作為信號顯示、文本控件ID11用于顯示運營商。畫面配置如圖5-3所示:

注意:其他非關鍵控件不在一一介紹,下文不在累述

圖5-3 畫面配置


5.2.2 LUA編輯 

本例程中,屏幕上電執(zhí)行初始化操作,如加載4G AT 指令的庫、初始化4G模塊、定時獲取運營商和信號值等。

當用戶點擊圖片下載的時,調用air_http_download()開始下載文件。在下載回調函數(shù)on_http_download_file_cb()里進行數(shù)據(jù)存儲,顯示下載信息等。若該文件單次下載不完,會多次回調on_http_download_file_cb()函數(shù),直至下載完畢,如圖5-4所示。

圖5-4 下載流程

 1  初始化

調用系統(tǒng)函數(shù)on_init()執(zhí)行代碼如程序清單 1所示:

程序清單 1 初始化

--[[*******************************************************************
** Function name:  on_init
** Descriptions :  系統(tǒng)初始化時,執(zhí)行此回調函數(shù)。
*******************************************************************--]]
function on_init()

    dofile('Air724at.lua') --加載 http.lua 文件
    uart_set_baudrate3(115200) --設置與4G模塊通訊的串口3的波特率為115200

    --設置4G庫函數(shù)的命令發(fā)送函數(shù),命令回調函數(shù)、調試信息打印函數(shù)
    air_set_callback(on_air_send_cb,on_air_resp_callback,on_air_log_cb)
    air_hw_int() --4G模塊初始化設置
    --開啟自動獲取型號強度、時間、天氣功能
    start_timer(timerId_Sig_Weather, 1000 , 0, 0)
    set_visiable(screen_mmedia_dl,6,0) --設置進度條不可見
    set_visiable(screen_mmedia_dl,7,0) --設置進度文本不可見
end

--[[*******************************************************************
** Function name:  on_timer
** Descriptions :  定時器超時回到調函數(shù)。
** @ timer_id    :  定時器ID
*******************************************************************--]]
function on_timer(timer_id)
    on_air_timer(timer_id) --4G庫函數(shù)的定時處理

    --定時獲取信號強度
    if timer_id == timerId_Sig_Weather
    then
        --定時器計數(shù),timer0_notify_cnt 每秒+1。
        timer0_notify_cnt = timer0_notify_cnt + 1 
        if timer0_notify_cnt%15 == 0
        then
            --每15s調用一次,更新信號值
            at_cops_csq()
            timer0_notify_cnt = 0 --標志位清空
        end
    end
end

--[[*******************************************************************
** Function name : at_cops_csq
** Descriptions  : 獲取運營商信息、信號強度
** @return       : nil,無返回值
*******************************************************************--]]
function at_cops_csq()
    air_cmd_add('AT+COPS?','OK',1000) –獲取運營商
    air_cmd_add('AT+CSQ'  ,'OK',1000) –獲取信號
end

--[[*******************************************************************
** Function name:  on_air_resp_callback
** Descriptions :  4G模塊-數(shù)據(jù)回調接口
** @key           :  屏幕向4G模塊的發(fā)送請求
** @value        :  4G模塊返回的數(shù)據(jù)
*******************************************************************--]]
function on_air_resp_callback(key, value)

    if value == nil
    then 
        return              --value為空時退出
    end

--*********************************************************************
    --功能:    判斷 key
    --          如果 key 為空,則退出函數(shù)。
    --          因為 key 為空時,下方 string.find( key , ) 是不正確的使用。
    --          以下key的處理必須不為空,
    --*****************************************************************
    if key == nil 
    then
        return
    end

    ......
    --****************************************************************
    --條件:    設置4G模塊波特率成功
    --功能:    設置串口波特率為 921600 
    --****************************************************************
    if string.find(key,'+IPR=921600') ~= nil and
        string.find(value,'OK') ~= nil 
    then
        uart_set_baudrate3(921600)
    end

    --****************************************************************
    --條件:    設置4G模塊波特率成功
    --功能:    設置串口波特率為 115200 
    --****************************************************************
    if string.find(key,'+IPR=115200') ~= nil and
    string.find(value,'OK') ~= nil 
    then
        uart_set_baudrate3(115200)
   end

    --****************************************************************
    --條件:    4G模塊返回運營商信息
    --功能:    設置顯示運營商
    --****************************************************************
    if string.find(key,'+COPS') ~= nil and string.find(value,'+COPS') ~= nil
    then
        --************************************************************
        --value    : +COPS: 0,2,"46000",7
        --要提取的值:46000
        --正則表達式: '+COPS:.*,.*,"(%d*)"'
        --************************************************************
        local regular_e = '+COPS:.*,.*,"(%d*)"'--正則表達式
        --獲取的值賦給 my_mobile_MCCMNC 
        local my_mobile_MCCMNC = string.match( value, regular_e )
        set_text( screen_main, 2, mobile_MCCMNC[my_mobile_MCCMNC])
    end

    --****************************************************************
    --條件:    4G模塊返回信號強度信息
    --功能:    設置4G模塊的信號等級
    --****************************************************************
    if string.find(key,'+CSQ')~=nil and string.find(value,'+CSQ')~=nil
    then
        --************************************************************
        --value    : +CSQ: 15,99
        --要提取的值:15
        --正則表達式: '+CSQ: (.*),.*' 
        --***********************************************************
        local regular_e = '+CSQ: (.*),.*' --正則表達式
        local my_csq = tonumber(string.match(value,regular_e))
        if my_csq<=11 
        then
            set_value( screen_main, 1, 1) --設置信號圖標顯示第1幀 
        elseif my_csq>=12 and my_csq<=13 
        then
            set_value(screen_main, 1, 2) --設置信號圖標顯示第2幀 
        elseif my_csq>=14 and my_csq<=15 
        then
            set_value( screen_main, 1, 3) --設置信號圖標顯示第3幀 
        elseif my_csq>=16 
        then
            set_value( screen_main, 1, 4) --設置信號圖標顯示第4幀 
        end
    end
end

--[[******************************************************************
** Function name: on_uart_recv_data3
** Descriptions : 接收串口3數(shù)據(jù)回調函數(shù),連接4G模塊。
******************************************************************--]]
function on_uart_recv_data3(packet)
    --4G AT指令庫API
    on_air_recv_data(packet)
end

▲下滑查看



核心API函數(shù)

1) dofile (filename)

加載文件:本例程中加載4G AT 指令的庫

  • filename: 文件名


2) uart_set_baudrate3(speed)

設置串口3的波特率:串口3為屏幕和4G模塊通訊的串口

  • speed: 通訊的波特率


3) on_air_recv_data(packet)

串口接收4G模塊的返回數(shù)據(jù)的回調。

  • packet: 形參為表,字節(jié)數(shù)據(jù)。


4) air_set_callback (on_air_send_cb,on_air_resp_callback,on_air_log_cb)

設置4G庫里的回調函數(shù)。形參類型為函數(shù),參數(shù)依次為命令發(fā)送函數(shù),命令回調函數(shù)、調試信息打印函數(shù),可自定義函數(shù)名。
  • on_air_send_cb:屏幕向4G模塊發(fā)送回調函數(shù)
  • on_air_resp_callback:4G向屏幕返回數(shù)據(jù)回調函數(shù)
  • on_air_log_cb:用戶調試信息回調函數(shù)調試


5) air_hw_int()

4G AT 指令的庫函數(shù),初始化4G模塊


6) at_cops_csq()

自定義封裝函數(shù),獲取運行商和信號值


7) air_cmd_add(sendstr,ackstr,timeout,retry,callback)

屏幕向4G模塊發(fā)送AT指令
  • sendstr:屏幕向4G模塊發(fā)送AT指令
  • ackstr:4G模塊應答屏幕的請求
  • timeou:應答超時
  • retry:超時重發(fā)次數(shù),可選
  • callback:應答回調函數(shù),可選

注:如果沒有設置超時重發(fā)次數(shù),則超時時直接發(fā)送隊列中的下一條指令。


8) on_air_resp_callback(key, value)

4G應答屏幕回調函數(shù):屏幕發(fā)送AT指令,4G應答后均會回調該函數(shù),初始化設置:air_set_callback(on_air_send_cb,on_air_resp_callback,on_air_log_cb)。
  • key:屏幕向4G模塊發(fā)送請求的AT指令
  • value:4G模塊返回的數(shù)據(jù)

 

相關AT指令:

本例程中,涉及到獲取4G模塊初始化、運營商、信號值等AT交互指令回調的判斷,在on_air_resp_callback(key, value)回調函數(shù)中,判斷4G收發(fā)的相關AT指令,如下所示:

1) 網(wǎng)絡數(shù)據(jù)是否激活: 

屏幕發(fā)送:AT+SAPBR=1,1。在air_hw_int()函數(shù)里發(fā)送。

屏幕接收:OK。on_air_resp_callback(key, value)函數(shù)里執(zhí)行4G返回數(shù)據(jù)的判斷

 

2) 獲取運營商:

屏幕發(fā)送:AT+COPS?。在at_cops_csq()函數(shù)了發(fā)送。

屏幕接收:OK。on_air_resp_callback(key, value)函數(shù)里執(zhí)行4G返回數(shù)據(jù)的判斷

 

3) 獲取信號值:

屏幕發(fā)送:AT+CSQ。在at_cops_csq()函數(shù)了發(fā)送。

屏幕接收:OK。on_air_resp_callback(key, value)函數(shù)里執(zhí)行4G返回數(shù)據(jù)的判斷

 

 2  HTTP下載

用戶點擊按鈕控件ID1~3,HTTP協(xié)議下載對應的圖片、視頻、音頻文件。文件,每次向服務器讀取7K大小文件,然后在下載回調函里,每次以2K字節(jié)的數(shù)據(jù)寫入文件,代碼如程序清單2所示:

程序清單 2  HTTP下載

--[[******************************************************************
** Function name : on_control_notify
** Descriptions  : 系統(tǒng)回調函數(shù),用戶通過觸摸修改控件后,執(zhí)行此回調函數(shù)。
**                 點擊按鈕控件,修改文本控件、修改滑動條都會觸發(fā)此事件。
** @ screen       : 控件觸發(fā)所在的頁面
** @return        : 控件觸發(fā)的ID
** @return        : 控件值
** @return        : nil,無返回值
******************************************************************--]]
function on_control_notify(screen,control,value)
    if screen == screen_mmedia_dl 
    then

        if (control >= 1 and control <= 3) and value == 1
        then
            --停止音樂、視頻的播放、下載的圖片不顯示
            picture_en = 0
            stop_sound()
            stop_video()

            --下載過程失能下載按鈕,不允許點擊
            set_enable(screen_mmedia_dl, 1, 0)
            set_enable(screen_mmedia_dl, 2, 0)
            set_enable(screen_mmedia_dl, 3, 0)

            set_visiable(screen_mmedia_dl,6,1) --設置進度條可見
            set_visiable(screen_mmedia_dl,7,1) --設置進度文本可見
            set_visiable(screen_mmedia_dl, 9, 0) --設置音樂圖標隱藏

            --復位下載相關變量
            file_len           = 0
            file_current_dl    = 0
            file_curt_dl_perct = 0

            臨時提升波特率,提高4G和屏幕串口傳速度
            air_set_baudrate(921600)
            down_mode = control
            set_text(screen_mmedia_dl,5,httpDown_dl_process[down_mode])

            --開始下載
            air_http_download(HttpDownFile_URITb[down_mode], 
                          7168,
                          on_http_download_file_cb)
        end
    end
end

--[[*********************************************************************
** Function name: http_download_process
** Descriptions : 計算當前寫入(下載)進度
** @cur_process : 當前下載進度
** @return       : nil, 無返回值
*********************************************************************--]]
function http_download_process( cur_process )

    local allsize =  string.format('%0.2f', (file_len    / 1024))
    local cursize =  string.format('%0.2f', (cur_process / 1024))
    local file_curt_dl_perct = (cur_process/file_len)*100

    file_curt_dl_perct = string.format('%0.1f',file_curt_dl_perct)

    set_value(screen_mmedia_dl, 6, file_curt_dl_perct)
    set_text(screen_mmedia_dl, 7, '下載進度: '..file_curt_dl_perct..' %')
    set_text(screen_mmedia_dl, 8, '文件大小:'..cursize..' K/'..allsize..' K')
end

--[[*********************************************************************
** Function name: on_http_download_file_cb
** Descriptions : 下載文件
** @key           : key, HTTP下載返回標識
** @value        : value,4G模塊屏幕  的應答數(shù)據(jù) 
** @return       : nil, 無返回值
*********************************************************************--]]
function on_http_download_file_cb(key, value)

    if key=='data_len' then
        file_len = value --獲取文件長度
        --創(chuàng)建文件
        open_state = file_open( HttpDownSave_FileTb[down_mode], over_write)
        start_timer_download_speed(file_len) --開始計算下載時間
        set_text( screen_mmedia_dl, 4, '')   --速度顯示為空

    elseif key=='data'  --文件數(shù)據(jù)包
    then
        --分段寫入數(shù)據(jù)
        my_write_filedata(HttpDownSave_FileTb[down_mode],value,add_write) 

    elseif key=='finish' --下載結束
    then
        --重新開啟自動獲取信號
        start_timer(timerId_Sig_Weather, 5*1000 , 0, 0)  
        file_close() --關閉文件
        --復位相關下載變量
        file_len           = 0
        file_current_dl    = 0
        file_curt_dl_perct = 0
        set_value( screen_mmedia_dl, 6, 0) --初始化進度條數(shù)值
        set_text( screen_mmedia_dl, 7, '下載進度:0%') --初始化進度文本數(shù)值
        set_text( screen_mmedia_dl , 8, '')
        set_visiable( screen_mmedia_dl, 6, 0) --設置進度條不可見
        set_visiable( screen_mmedia_dl, 7, 0) --設置進度文本不可見

        --停止下載計時,比返回總用時秒數(shù),每秒下載速度
        local dl_sec,dl_speed = stop_timer_download_speed()
        set_text(screen_mmedia_dl,4,
              '下載速度:'..string.format('%0.2f',(dl_speed*60))..'KB/min')
        --重新設置4G模塊和串口3波特率為115200
        air_set_baudrate(115200) 

        --下載模式為1時顯示圖片
        if down_mode == 1
        then
            set_text(screen_mmedia_dl,5,httpDown_dl_process_end[down_mode])
            if surface ~= 0 
            then
                destroy_surface(surface) 
                surface = 0
            end
            picture_en=1
            surface = load_surface(HttpDownSave_FileTb[down_mode])
            redraw()

        --下載模式為2時播放視頻
        elseif down_mode == 2
        then
            set_text(screen_mmedia_dl,5,httpDown_dl_process_end[down_mode])
            picture_en = 0
            stop_video()
            play_video(HttpDownSave_FileTb[down_mode], 40, 75, 480, 320)

        --下載模式為3時播放音樂
        elseif down_mode == 3
        then
            set_text(screen_mmedia_dl,5,httpDown_dl_process_end[down_mode])
            set_visiable(screen_mmedia_dl, 9, 1) --設置音樂圖標顯示
            picture_en = 0
            stop_video()
            stop_sound()
            play_sound(HttpDownSave_FileTb[down_mode])
        end

        set_value(screen_mmedia_dl    , 1, 0)
        set_value(screen_mmedia_dl    , 2, 0)
        set_value(screen_mmedia_dl    , 3, 0)
        set_enable(screen_mmedia_dl   , 1, 1)
        set_enable(screen_mmedia_dl   , 2, 1)
        set_enable(screen_mmedia_dl   , 3, 1)

        elseif key=='timeout' --下載超時
        then
            start_timer(timerId_Sig_Weather, 5*1000 , 0, 0)

            set_text(screen_mmedia_dl  , 5, '下載超時,請重新下載!')
            dl_reset_flag = 1
            set_value(screen_mmedia_dl , 1, 0)
            set_value(screen_mmedia_dl , 2, 0)
            set_value(screen_mmedia_dl , 3, 0)
            set_enable(screen_mmedia_dl, 1, 1)
            set_enable(screen_mmedia_dl, 2, 1)
            set_enable(screen_mmedia_dl, 3, 1)

            air_set_baudrate(115200) --重新設置4G模塊和串口3波特率為115200
            stop_timer_download_speed() --停止下載計時

        elseif key=='dl_file_read_retry' -- HTTPREAD 重下
        then
        --****************************************************************
        --value    :retry: -1,601
        --要提取的值: -1
        --             601
        --正則表達式:       'retry: (%d*),(%d*)'
        --****************************************************************

        local httpread_retry=''
        local status=''
        local regular_e = 'retry: (.*),(%d*)' --正則表達式
        --獲取的值賦給
        local httpread_retry,status = string.match(value,regular_e) 
        air_log('user r retry: '..httpread_retry..','..status)
        if httpread_retry == '-1' and ( status == '408' or
                                        status == '601' or
                                        status == '603' )
        then
            reset_4G()
            --提示
            set_text( screen_mmedia_dl, 5, '下載超時,發(fā)送網(wǎng)絡錯誤,重新設置中...') 
            dl_reset_flag = 1
        end

    elseif key=='dl_file_head_retry' -- HTTPHEAD 重下
    then
        --****************************************************************
        --value    :     retry: -1,601
        --要提取的值:       -1
        --                   601
        --正則表達式:       'retry: (%d*),(%d*)'
        --****************************************************************
        local httphead_retry=''
        local status=''
        local regular_e = 'retry: (.*),(%d*)'  --正則表達式
        local httphead_retry,status = string.match(value,regular_e) 
        air_log('user h retry: '..httpread_retry..','..status)
        if httphead_retry == '-1' and ( status == '408' or 
                                        status == '601' or 
                                        status == '603' )
        then
            reset_4G()
            set_text( screen_mmedia_dl, 5, '下載超時,發(fā)送網(wǎng)絡錯誤,重新設置中...')
        dl_reset_flag = 1
        end
    end
end

▲下滑查看


核心API函數(shù)

1) air_http_download(url,break_size,user_callback)

4G庫函數(shù),HTTP下載文件。
  • url:HTTP下載資源連接,本例程中,將圖片、視頻以及音頻的資源路徑放在數(shù)組緩沖區(qū)中,如下所示:

local HttpDownFile_URITb = 
                    {'http://video.gz-dc.com/logo_480320_165kV2.jpg',
                     'http://video.gz-dc.com/video2_62M9s.mp4',
                     'http://video.gz-dc.com/music503k32s.mp3'}

  • break_size:單次網(wǎng)絡下載的包大小,單位字節(jié)(BYTE),本例程中為7K
  • user_callback:改形參是一個函數(shù)變量,HTTP下載應答屏幕的回調函數(shù)。名稱可自定義命名,如本例程為on_http_download_file_cb。


2) on_http_download_file_cb(key, value)

用戶自定義函數(shù),HTTP下載回調函數(shù)。
  • key:HTTP響應數(shù)據(jù)類型
  • value:HTTP響應的內容

若key = ‘data_len’,表示HTTP下載的文件大小;value 表示為文件大小,單位byte。

若key = ‘data’,表示HTTP響應數(shù)據(jù)內容;value為數(shù)據(jù)內容,類型為字節(jié)數(shù)組,大小為air_http_download(url,break_size,user_callback)設置的break_size。

若key = ‘finish’,表示HTTP下載完成;value為文件總大小,單位byte

若key = ‘timeout’,表示HTTP下載超時。

若key = ‘dl_file_head_retry’,表示 HTTPACTION 查詢頭信息超時。若超時,內部已經(jīng)處理了3次重發(fā)數(shù)據(jù)請求。

若key = ‘dl_file_read_retry’,表示 HTTPACTION 查詢讀取數(shù)據(jù)超時。若超時,內部已經(jīng)處理了3次重發(fā)數(shù)據(jù)請求。


3) my_write_filedata(file, data, open_mode)

用戶自定義函數(shù),寫文件。本例程,將4G HTTP下載返回的數(shù)據(jù)寫在文件中。
  • file:存儲路徑,本例程中,將圖片、視頻以及音頻下載后的文件指定存儲在屏內(3為屏內盤符),路徑定義如下所示

local HttpDownSave_FileTb = {'3:/image.jpg','3:/bench.mp4', '3:/my dream.mp
3'}

  • data:存儲的數(shù)據(jù),類型可以是‘數(shù)組’或‘字符串’,本例程中,4G HTTP下載返回的數(shù)據(jù)類型是數(shù)組
  • open_mode:文件打開模式:本例程中,每次寫文件,將數(shù)據(jù)寫在文件尾。

注意:本文不再闡述文件讀寫的詳細說明,可參考相應的資料,如《Lua應用-文件讀寫V1.0.pdf》


4) load_surface(filename)

加載圖片到圖層。
  • filename圖片文件路徑,支持JPEG/PNG

本例程中,當下載完成key=‘finish’時,且當前下載的是圖片文件(down_mode = 1),調用此API申請圖層繪圖,并調用redraw()刷新觸發(fā)on_draw()顯示。

注意:本文不再闡述繪圖的詳細說明,可參考相應的資料,如《LUA教程7-繪圖API使用說明.pdf》


5) destroy_surface (surface)

銷毀圖層,W系列支持、M系列 >= V6.1.241.00、F系列不支持
  • surface圖層資源指針


6) play_sound(filename)

播放指定的聲音文件
  • filenam:音頻文件路徑,支持MP3/WAV
本例程中,當下載完成key=‘finish’時,且當前下載的是音頻文件(down_mode = 3),調用此API播放音頻。若播放完畢,觸發(fā)音頻播放結束通知on_audio_callback(),在重復播放該音頻文件。

注意:本文不再闡述音頻的詳細說明,,可參考相應的資料,如 《M系列-播放SD卡里視頻、音頻文件 V1.0.pdf》


7) play_video(file,left,top,width,height)

播放指定的視頻文件
  • file:文件路徑,支持MP4
  • left:起始坐標x
  • top:起始坐標y
  • width:視頻顯示的寬度
  • height:視頻顯示的高度
本例程中,當下載完成key=‘finish’時,且當前下載的是視頻文件(down_mode = 2),調用此API播放視頻,播放過程觸發(fā)on_video_notify(msg,v1, v2)。若msg=0,表示播放完畢,在重復播放該視頻文件。

注意:本文不再闡述視頻的詳細說明,,可參考相應的資料,如 《M系列-播放SD卡里視頻、音頻文件 V1.0.pdf》


8) on_video_notify(msg,v1, v2)

視頻播放回調函數(shù)

  • msg:1-播放中,0-播放完畢
  • v1:當前播放進度,當前已播時長,單位s
  • v2:播放總進度, 當前視頻總時長,單位s


9) on_audio_callback (state)

聲音播放結束回調通知,state保留未使用。


10) on_draw(screen)

當界面的顯示內容需要更新時,系統(tǒng)自動調用此函數(shù),用戶在此函數(shù)中添加自定義的繪圖操作。用戶繪制的內容疊加在畫面內容之上。此函數(shù)為系統(tǒng)回調函數(shù),用戶不要直接調用。
下面幾種情況會觸發(fā)此函數(shù):
  • 界面有動畫播放、視頻播放、RTC時間顯示的動態(tài)刷新;
  • 用戶操作屏幕控件控件;
  • 通過LUA腳本或串口指令更新控件;
  • 通過執(zhí)行redraw
界面上有任何變化,都會觸發(fā)此函數(shù)

 

11) draw_surface (surface,dstx,dsty,width,height,srcx,srcy)

繪制圖層,相比于draw_image_file,此方法效率較高,W系列支持、M系列 >= V6.1.241.00支持(裁剪顯示)、F系列不支持
  • surface圖層資源指針
  • dstx圖片顯示X坐標
  • dsty圖片顯示Y坐標
  • width圖片顯示寬度[可選]
  • height圖片顯示高度[可選]
  • srcx圖片裁剪X坐標[可選]
  • srcy圖片裁剪Y坐標[可選]

例如:

平鋪顯示:draw_surface(surface, dstx, dsty)

縮放顯示:draw_surface(surface, dstx, dsty, width, height),此方法M型不支持

裁剪顯示:draw_surface(surface, dstx, dsty, width, height ,srcx, srcy)






5.3 下載工程

工程編譯成功后在輸出窗口會提示編譯成功,如圖5-5所示;

圖5-5編譯成功


在菜單欄中,文件→打開工程目錄,在‘dciot_build’目錄的‘private’拷貝到SD卡中,如圖5-6和圖5-7所示;把SD卡接上串口屏后重新上電,等到提示燒錄工程成功后,拔掉SD卡重新上電即可。

圖5-6量產(chǎn)向導


圖5-7拷貝到SD卡





好吊操这里有精品亚洲| 中文字幕亚洲国产精品| 天天舔天天日天天干天天操| 亚洲伦理一区在线观看| 日韩欧美午夜精品伊人| 欧美福利在线观看视频| 久久久久日韩欧美精品| 欧美福利视频在线观看| 亚洲欧美日韩精品香蕉| 精品国产亚洲av麻豆小草| 最新人妻在线只有精品| 国产精品推荐在线视频| 蜜桃av网址在线观看| 亚洲乱码一区二区av| av黄色精品在线观看| 国产欧美一级黄片免费| 国内精品国产三级国产成人| 亚洲中文字幕国产精品| 欧美福利在线观看视频| 福利一区二区三区高清视频| 国内不卡的一区二区三区中文字幕 | 中文字幕亚洲欧美在线| 国产一区二区欧美三区四区| 欧美日韩一区不卡视频| 日韩亚洲麻豆激情四射| 亚洲一区二区在线免费| 国产在线精品在线精品在线| 中文字幕三级视频在线| 日韩欧美在线视频一区二区| 中文字幕在线播放有码| 欧美日韩成人在线视频一区二区| 国产成人午夜精品网站| 涩涩的视频在线免费看| 欧美午夜免费激情视频| 99久久精品人妻系列| 亚洲精品一区国语对白| 丁香六月婷婷一区在线| 亚洲欧洲在线一区二区| 国产多对交换完整视频| 欧美一区二区三区精品水蜜桃| 无马一区二区三区四区五区六区| 人妻中文字幕久久av| 韩国精品三级一区二区| 一区二区人妻手机在线| 婷婷开心五月亚洲综合| 91精品国产成人久久久久久| 蜜桃tv一区二区三区在线| 99午夜福利免费视频| 人妻公交摩擦中文字幕| 中文字幕视频一区人妻| 亚洲精品一区二区视频| 日韩亚洲天堂久久综合| 91精品人妻中文字幕| 亚洲国产一区二区三区三州| 天天日夜夜操人人干人人插| 国产欧美日韩一区二区三区精品| 日韩国产中文在线视频| 国产视频自拍高清在线| 青青青国产手机视频免费在线| 麻豆蜜桃伦理一区二区三区| 青青草视频男人的天堂| 午夜高潮视频在线观看| 日韩欧美一区二区三区精品综合| 激情深爱婷婷开心五月| 日韩国产精品免费在线观看| 五月开心深爱激情婷婷| 日本美女黄色中文字幕| 国内不卡的一区二区三区中文字幕| 亚洲精品一区二区三区福利| 亚洲中文字幕综合一区二区| 亚洲青青视频在线观看| 青青草视频在线观看的| 高潮美女一区二区三区| 国产91熟女高潮一区二区三区| 免费人妻国产一区二区三区| 少妇人妻系列中文字幕| 成人精品一区二区免费av| 97久久久超国产精品| 国产精品视频中文字幕| 狠狠熟女一区二区三区| 美女黄色三级深夜福利| 农村精品人妻一区二区| 日产精品久久久久久久性色| 麻豆蜜桃伦理一区二区三区| 欧美成人福利视频在线| 久草资源福利视频观看| 国产免费一区二区视频| 亚洲视频精品一区夜夜| 日韩人妻视频一二三区| 日本写真视频一区二区三区| 好吊操这里有精品亚洲 | 久久国产精品视频在线| 日本精品视频免费在线观看| 极品少妇被猛的白浆直喷白浆| 久久成人黄色免费网站| 日韩精品在线观看免费| 五月婷婷六月丁香激情四射| 亚洲黄色av网址在线观看| 日韩中文字幕永久视频| 成人国产精品亚洲精品| 午夜国产精品视频在线观看| 青青草视频在线观看的| 成人一区二区三区视频免费| 伊人狼人在线综合视频| 精品一区中文字幕在线观看| 日韩亚洲国产激情一区二区| 95久久人妻精品免费二区| 亚洲欧美在线综合视频| 男女那个免费视频网站| av一区二区三区蜜桃| 国产专区精品综合在线| 裸模一区二区三区免费| 亚洲专区av中文字幕| 中文字幕中文字幕在线中不卡| 森泽佳奈人妻中文字幕| 变态另类欧美一区二区三区| 狠狠干狠狠操在线观看| 日韩国产精品免费在线观看| 久草国产高清在线视频| 美女丝袜国产一区二区| 精品日韩在线观看视频| 久草资源福利视频观看| 95久久人妻精品免费二区| av在线不卡观看一本| 涩涩的视频在线免费看| 又黄又爽视频在线免费观看| 国产片一区二区三区在线观看| 青青草原绿色华人在线| 99精品人妻一二三区| 欧美日韩成人在线视频一区二区 | 一区二区三区中文字幕在线视频| 大波视频国产精品丝袜美女 | 日本一区二区性要视频| 中文字幕在线一区二区三区视频| 欧美福利在线观看视频| 天天操天天插天天爱天天射| 青草视频免费在线观看尤物| 中文字幕成人熟女免费视频| 五月激情开心久久婷婷| 日韩三级网站在线视频| 欧美一区二区人妻少妇| 久久精品国产午夜福利伦理| 好好的日中文字幕在线| 欧美日韩一区二区三区的视频| 精品一区二区三区久久久久| 国产又大又爽又粗视频| 丝袜美腿亚洲综合性一区二区三区| 亚洲一区日韩欧美在线| 中文人妻av久久人妻| 国产刺激一区二区三区| 欧美福利视频一二三区| 国产伦理精品1区2区3区| 亚洲女人天堂av在线| 极品少妇被猛的白浆直喷白浆 | 精品国产av天堂资源地址一二三| 国产亚洲99久久精品熟女视频| 日韩欧美黄色精品网站| 亚洲精品欧美一区二区| 日本直接看不卡的视频在线| 韩国精品三级一区二区| 精品一区二区三区久久久久| 国产精品十八禁在线看| 青青青手机在线视频免费观看| 午夜av成年免费毛片| 中文黄色字幕在线观看| 中文字幕亚洲熟女系列| 福利丝袜视频在线观看网站| 欧美三级黄片在线播放| 日韩欧美黄色精品网站| 欧美国产一区二区三区不卡| 国产又粗又猛又爽又黄| 五月天丁香婷婷综合网| 黄色网免费的久久av| 人人妻人人澡人人爽欧美一区视频 | 男女一进一出视频在线观看免费| 日韩亚洲麻豆激情四射| 曰批国产精品视频免费观看网站| 中文字幕日韩在线人妻| 亚洲精品一区二区三区福利| 人妻一区二区三区中文字幕| 日韩中文字幕视频在线观看免费| 欧美日韩在线午夜观看| 一区二区日韩av在线观看| 少妇张开双腿让男人捅| 亚洲欧美日韩精品香蕉| 少妇丰满少妇丰满少妇| 亚洲乱码一区二区av| 福利视频一区二区国产| 午夜福利网站亚洲天堂| 国产精品免费观看在线观看| 天天日天天摸天天操天天舔| 国产三级国产精品久久成人| 欧美黄片狠狠操狠狠干| 美国一级特黄大片中字欧美| 欧美日韩激情中文字幕| 国产精品欧美日韩在线| 韩国三级中文字幕高清| 无吗人妻精品一区二区三区| 黄色激情网站中文字幕| 中文调教av一区二区三区| 激情五月天欧美综合激情五月| 欧美国产激情一区二区| 国产中文字幕亚洲精品| 国产粉嫩一区二区三区在线观看| 中文字幕免费视频一区三区| 日韩欧美一区中文字母视频| 人妻少妇亚洲一区二区| 精品久久久久蜜桃有码| 蜜桃视频网站免费观看一区二区| 国产精品露脸在线午夜| 一区二区日韩av在线观看| 熟女人妻av专区免费| 开心五月激情婷婷丁香| 亚洲精品动漫一区二区| 精品一区二区三区成人在线| 中文字幕高清视频专区二区三区 | 国产亚洲99久久精品熟女视频| 污网站在线观看免费看| 人人妻人人澡人人爽精品欧美| 被老头玩弄邻居人妻中文字幕| 国产又大又长又粗的刺激视频| 国产99久久精品一区二区| 国产激情一区二区在线| 久久久精品人妻一区二区三区四 | 精品福利视频一区二区三区| 一区二区三区白浆在线| 婷婷综合在线视频精品| 爱草视频免费在线观看| 亚洲五十路熟妇久久久| 人妻久久一区二区三区| 黄色av免费在线网站| 日韩美女av在线一区二区| 日本欧洲久久精品视频| 日韩亚洲人妻在线观看| 日韩丝袜美腿一区二区| 久久久亚洲天堂网av| 亚洲国产一区二区三区三州| 亚洲无av一区二区三区久久| 最近最新中文一区二区| 伊人青青综合在线视频| 欧美岛国国产日韩在线| 五月激情开心久久婷婷| 青草视频免费在线观看尤物| 裸模一区二区三区免费| 国产区一区二区三在线观看| 久久婷婷综合在线视频| 国内经典中文字幕日韩精品| 日韩少妇午夜精品av| 男女那个免费视频网站| 国产区一区二区三在线观看| 五月天丁香婷婷开心网| 国产福利视频一区在线| 美女视频免费视频美女视频午夜| 日韩欧美一区二区三区精品综合| 99久久久精品免费观看国产蜜| 一区二区三区亚洲精选| 免费在线观看日韩一区| 精品人妻一区二区在线| 欧美三级影片在线观看| 99精品一区二区三区| 天天日夜夜操人人干人人插| 日韩特黄一级大片在线| 日韩丝袜在线免费观看| 极品尤物一区二区三区| 一区二区三区日韩蜜桃| 亚洲欧美日韩在线一区二区色| 含羞草污视频在线观看| 亚洲国产视频中文字幕| 国内精品一区二区三区香蕉| 福利视频一区二区国产| 中文字幕中文字幕在线中不卡 | av高清不卡在线免费观看| 中文字幕中文字幕国产| 国产又大又爽又粗视频| 国产视频区一区二区三| 亚洲狼人视频在线观看| 青青青爽在线观看网站| 日本中文字幕视频在线播放| 99这里有精品在线观看视频| 韩国精品一区在线观看| 国产一二三区成人av| 一本色道久久综合av| 日韩欧美精品二区在线| 中文字幕国产在线精品| 亚洲精品欧美一区二区| 亚洲中文字幕在线观看免费| 欧美一区二区三区在线免费看| 欧美日韩精品在线国产| 亚洲欧美日韩在线一区二区色| 一区二区自拍偷拍视频| 中文字幕理论片一区二区三区| 日韩欧美亚洲一区二区三区在线 | 亚洲欧洲国产另类精品自线一区| 日韩国产中文字幕有码| 亚洲精品一区二区尤物| 欧美一区二区三区四区激情| 国产在线精品在线精品在线 | 男女上床视频免费在线观看| 欧美日韩精品久久久免费观看| 精品成人av在线播放| 乱码精品一区二区三区| 中国中文字幕亚洲一区二区| 中文字幕免费视频一区三区| 国产一级二级精品二级在线| 日韩人妻中文字幕网站| 日韩中文字幕视频在线观看免费 | 五月天丁香婷婷综合网| 色综合一区二区三区体内射精| 午夜亚洲福利一区二区| 国产成人伦理一区二区在线观看| 中文字幕亚洲一区二区三区五十路| 久久成人黄色免费网站| 亚洲一区二区三区九九| 人妻精品系列一区二区三区| 成人精品一区二区免费| 日韩精品在线在线观看| 国产又黄又粗又猛视频| 激情五月天欧美综合激情五月 | 夫妻性生活的视频播放| 亚洲精品网站在线观看免费| 日韩欧美亚洲一区二区三区| 欧美午夜免费激情视频| 中文字幕高清视频专区二区三区| 青青草五月天视频在线| 高潮美女一区二区三区| 中文字幕高清视频在线观看| 亚洲中文字幕乱码免费在线观看| av精选日韩中文字幕| 国产综合一区二区精品视频| 欧美日韩成人免费在线视频| 国产剧情中文字幕在线| 亚洲国产综合在线一区| 亚洲精品少妇熟女一区| 人妻精品一区二区三区网站 | 欧美日韩国产变态另类| 99久久99久久精品免费观看| 久久成人黄色免费网站| 星空无限传媒一二三区| 五月天丁香婷婷开心网| 亚洲国产精品自在线一区二区| 免费在线观看黄色网片| 国产男女激情一区二区三区视频| 国产精品免费观看在线观看| 欧美日韩国产变态另类| 亚洲欧美日韩精品香蕉| 欧美熟妇熟女视频在线观看| 久久久亚洲天堂网av| 亚洲精品网站在线免费蜜桃| 国产又粗又猛又爽又黄视频| 欧美人妻精品一区二区在线| 69精品人妻一区二区| 国产又粗又猛又爽又黄的电视| 国产日韩欧美二区三区| 精品人妻久久99一区二区三区| 日韩av中文字幕九区| 粉嫩极品美女国产精品| 在线看午夜福利片国产| 好看中文字幕一区二区三区| 日本中文字幕视频在线播放| 五月婷婷在线视频观看| 蜜桃熟了在线观看视频| 亚洲一区二区三区在线| 久久久亚洲天堂网av| 99精品一区二区三区久久久蜜桃 | 午夜亚洲中文字幕一区二区三| 黄色小网站之美女扣逼| 夫妻性生活的视频播放| 久久青青黄色偷拍视频| 国语在线一区二区三区| 欧美国产激情一区二区| 久久久久亚洲av综合| 中文字幕在线观看免费播放视频 | 一区二区人妻手机在线| 国产欧美日韩综合精品| 在线观看中文字幕日韩在线| 免费一级特大黄片欧美| 最好看的日韩中文字幕| 北条麻妃一区二区久久| 日韩中文字幕人妻av| 亚洲欧美日韩精品香蕉| 日韩一区二区三区四区人妻| 国产一区二区三区视频大全| 欧美一区二区三区精品水蜜桃| 少妇精品一区二区三区四区在线 | 国产精品国产三级国产专区不| 国产专区精品综合在线| 成人在线观看视频中文字幕| 欧美三级特黄在线播放| 中文字幕高清视频专区二区三区| 亚洲一区在线视频在线播放| 黄色激情网站中文字幕| 成人激情黄色一区二区三区| 亚洲一区精品在线观看| 青青草原一区在线观看| 亚洲狼人视频在线观看| 黄色网免费的久久av| 99久久人妻精品免费二区绿帽 | 曰批国产精品视频免费观看网站 | 欧美日韩一区不卡视频| 国语自产精品视频二区在线| 国产欧美一区二区三区在线看| 操日韩美女逼乱交视频| 91亚洲成人精品在线| 欧美一级黄色免费观看| 亚洲精品一区二区三区福利| 国产又黄又猛又粗又爽无遮掩| 美女捆绑视频在线一区二区三区| 青青草在线观看视频免费观看| 久久久久日韩欧美精品| 一区二区自拍偷拍视频| 欧美另类激情在线免费播放 | 午夜激情免费在线观看视频| 在线视频免费观看国产精品| 国产不卡av在线播放| 久久久精品人妻一区二区三区四 | 日韩国产中文在线视频| 日韩黄肉视频在线观看| 国产偷拍网站在线观看| 日本人妻日本中文字幕| 日韩三级网站在线视频| 一区二区三区中本字幕| 国产粉嫩呻吟一区二区三区| 午夜看片子a福利在线观看| 日本写真视频一区二区三区| 中文字幕在线观看免费播放视频| 欧美日韩国产变态另类| 国产精品免费观看在线观看| 欧美精品亚洲在线观看| 日本视频中文字幕在线| av资源免费在线看| 裸模一区二区三区免费| 欧美视频在线播放一区二区专区| 麻豆精品视频在线观看视频| 日韩精品网址在线观看| 午夜福利日本在线观看| 蜜桃熟女一区二区三区| 最好看的日韩中文字幕| 一区二区三区乱码在线播放| 欧美日韩一区二区综合另类| 亚洲一区二区三区激情综合图片| 五月天丁香婷婷综合网| 久久国产精品精品av| 久草视频在线视频精品| 日韩欧美亚洲一区二区三区| 麻豆国产精品一区二区三区在线| 五月婷婷丁香免费亚洲| 亚洲五十路熟妇久久久| 精品久久久久中文字幕日本| 91欧美激情一区二区三区成人| 成人午夜大片免费在线观看| 白领丝袜人妻中文字幕| 久草视频在线视频精品| 国产免费黄色一级影片播放| 国产肥臀视频一区二区三区| 综合久久一区二区三区| 中文字幕免费在线一区二区三区| 一区二区三区中文字幕在线视频| 国产粉嫩一区二区三区在线观看| 中文少妇一区二区三区| 初撮一区二区三区久久| 在线视频日韩精品激情| 久久视频一区精品视频| 日韩国产中文字幕有码| 国产午夜福利一区二区三区四区| 亚洲欧美日韩成人综合在线| 欧美日韩经典一区二区三区| 国产亚洲欧洲精品av| 国产农村天天爽天天干| 亚洲欧美日韩成人综合| 欧美午夜免费激情视频| 国产精品亚洲一区二区三区不卡| 福利一区二区三区高清视频| 成人晚上在线观看视频| 蜜桃熟了在线观看视频| 国产又大又长又粗又猛的黄视频| 91一区二区三区亚洲| 又黄又爽视频在线免费观看| 国产熟女高潮激情视频网站| 精品日韩在线免费观看| 一区二区成人欧美人妻| 污网站在线观看免费看| 国产欧美日韩综合精品| 日韩欧美中文字幕视频| 亚洲精品网站在线免费蜜桃 | av一区二区三区蜜桃| 欧美成人午夜精品久久久91| 国产免费一区二区视频| 中文字幕日韩av四区在线观看| 国产日韩视频一区二区| 在线观看日韩精品免费| 人妻久久一区二区三区| 五月婷婷在线观看高清| 免费一区二区三区91| 一区二区三区日韩蜜桃| 男女激情综合福利网站在线观看| 国产精品欧美日韩在线| 国产免费黄色一级影片播放| 人人妻人人澡人人爽欧美一区视频 | 蜜桃tv一区二区三区在线 | 中文字幕久久亚洲一区二区三区| 中文字幕人妻熟女人妻| 蜜桃视频在线观看黄版| 一区二区成人欧美人妻 | 国产大秀一区二区三区| 高清中文字幕日本一本| 国产黄色av网站在线| 中文字幕日本最新视频| 国产在线精品在线精品在线 | 国产福利视频一区在线| 亚洲精品成人免费在线| 欧美日韩亚洲视频一区二区| 乱子伦一区二区三区视频在线观看 | 五月婷婷丁香免费亚洲| 偷偷av一区二区三区| 91精品人妻中文字幕| 99久久人妻精品二区| 韩日一级人添人人澡人人妻精品| 一区二区三区白浆在线| 欧美一区二区三区在线免费看| 含羞草污视频在线观看| 欧美日韩一区二区三区的视频| 亚洲狼人视频在线观看| 国产人妻一区二区三区在线 | 午夜福利日韩视频在线| 久久99亚洲精品久久久久| 精品日韩在线免费观看| 欧美国产激情一区二区| 国产十八禁在线免费看| 亚洲一区二区三区激情综合图片 | 五月天丁香婷婷开心网| 日韩亚洲国产激情一区二区| 国产精品亚洲一区二区三区不卡| 中文字幕人妻熟女人妻| 日韩欧美人妻精品一区二区三区| 中文字幕在线亚洲欧美| 偷拍亚洲欧美日韩一区二区| 国产人妻一区二区三区在线| 视频日韩中文字幕视频| 污网站在线观看免费看| 日韩精品在线观看高清视频| 午夜精品一区二区三区久久| 亚洲国产视频中文字幕| 欧美三级在线免费播放| 又长又硬又粗欧美啪啪| 欧美日韩精品在线一区二区三区| 大波视频国产精品丝袜美女 | 麻豆午夜一区二区三区| 午夜高潮视频在线观看| 99偷拍在线视频精品| 欧洲亚洲第一区第二区| 蜜桃视频在线观看黄版| 亚洲精品网站在线观看免费| 国产精品十八禁在线看 | 99久久人妻精品免费二区绿帽| 亚洲永久国产中文字幕| 洗澡偷拍一区二区三区| 大波视频国产精品丝袜美女| 日韩精品免费视频一区| 99在线视频精品观看| 五月婷婷久月在线观看| 久久日本久久久久久久| 中文少妇一区二区三区| 欧美国产综合日韩一区二区三区| 激情婷婷综合中文字幕| 天天操天天插天天爱天天射| 97久久久超国产精品| 久久久久日韩欧美精品| 日韩亚洲中文字幕永久在线| 精品中文字幕麻豆出品| 黄片视频网站在线免费观看| 精品成人av在线播放| 精品人妻一区二区三区舒其| 精品人妻一区二区蜜桃| 国产不卡av在线播放| 国产又粗又硬又长又爽黄毛片| 午夜看片子a福利在线观看| 日韩精品亚洲人成在线| 黄色av日韩在线观看| 青青视频免费观看免费| 色婷婷激情五月天视频| 中文字幕高清视频在线观看| 国产精品亚洲欧美一区麻豆| 中文字幕一区二区人妻免费不卡| 亚洲乱码一区二区av| 久久久精品人妻一区二区三区四 | 中文字幕中文字幕在线中不卡 | 韩国精品三级一区二区| 亚洲一区二区在线免费| 欧美日韩国产国码在线| 日韩欧美一区中文字母视频| 视频一区视频二区国产专区| 日韩视频在线一区观看| 蜜桃av网址在线观看| 国产91熟女高潮一区二区三区| 欧美日韩成人一区二区三区| 青青青爽在线观看网站| av黄色精品在线观看| 青青草在线观看视频免费观看| 国产综合精品中文字幕| 婷婷在线视频最新地址| 久久偷拍视频爱爱免费| 99久久精品国产一区二区成人| 中文字幕成人熟女免费视频| 北条麻妃一区二区久久| 天天日夜夜操人人干人人插| 精品国产一二三区在线| 少妇极品熟妇人妻专区视频| 欧美日韩大陆中文字幕| 欧美深夜免费福利视频| 国产欧美亚洲一区二区| 久久人妻一区二区三区极品| 国产精品欧美日韩在线 | 日产精品久久久久久久性色| 日韩亚洲欧美专区在线| 在线高清中文字幕亚洲精品日韩| av一区二区三区四区在线看| 中文字幕国产精品99| 中文字幕中文字幕黄色| 亚洲午夜美女福利视频| 精品在线观看一区二区视频| 国产欧美一级黄片免费| 星空无限传媒一二三区| 哪里能看欧美一级黄片| 日韩人妻少妇精品一区二区三区 | 日本中文字幕在线视频免费| 国产中文字幕乱码一区二区三区| 免费看视频网站在线看| 日韩高清av中文字幕| 国产刺激一区二区三区| 日韩av日韩av日韩| 久久精品亚洲熟妇熟女| 洗澡偷拍一区二区三区| 农村精品人妻一区二区| 国产亚洲中文在线字幕| 日本久久久久久久做爰片蜜桃| 亚洲精品网站在线观看免费| 亚洲欧美国产午夜福利另类| 一区二区三区在线观看蜜桃| 日韩欧美国产精品专区| 激情综合五月激情综合| 国产农村天天爽天天干| 亚洲五十路熟妇久久久| 在线成人免费视频中文字幕| 日本美女性感丝袜图片| 视频一区视频二区国产专区| 亚洲不卡中文字幕一区| 国产精品网站免费在线观看| 视频免费在线观看网站| 欧州一区二区三区视频| 99偷拍在线视频精品| 视频一区二区三区午夜| 日韩亚洲中文字幕永久在线| 精品视频一区二区三区四区五区 | 91亚洲成人精品在线| 国产三级视频一区二区| 日韩人妻中文字幕专区| 欧美日韩不卡一区二区视频| 欧美精品一区二区色诱| 国产精品美女网站免费网站| 国产丝袜美女一区二区| 欧美成人激情在线观看| 熟女人妻中文字幕在线| 日韩丝袜美腿一区二区| 欧美亚洲区一区二区三| 国产亚洲成人自拍一区| 网友自拍在线视频国产| 国产精品十八禁在线看| av黄色精品在线观看| 国产一区二区丝袜美腿在线观看| 欧美综合在线一区二区在线| 久久视频一区精品视频| 激情偷拍视频网站免费| 国产情侣自拍在线视频| 久久麻豆一区二区三区| 五月激情开心久久婷婷| 午夜在线观看一区二区三区视频 | 国产成人午夜精品网站| 久久偷拍视频爱爱免费| 欧美亚洲区一区二区三| 免费福利视频一区二区三区| 国产又黄又粗又猛又爽| 中文字幕中文字幕在线中不卡| 美女黄色三级深夜福利| 少妇张开双腿让男人捅| 国产粉嫩一区二区三区在线观看| 熟妇人妻精品一区二区三区蓝燕| 欧美另类激情在线免费播放| 在线视频人妻一区二区中文字幕 | 免费福利视频一区二区三区 | 日韩三级网站在线视频| 色综合久久夜色精品国产av| 亚洲精品少妇熟女一区| 森泽佳奈人妻中文字幕| 国产黄色av网站在线| 在线中文字幕日本一区| 成人午夜大片免费在线观看| 又长又硬又粗欧美啪啪| 国产综合一区二区精品视频| 国产欧美一区二区三区不卡视频| 精品在线观看一区二区视频| 婷婷在线视频最新地址| 久久人妻一区二区三区极品| 很污的视频欧美网站在线观看| 人妻精品系列一区二区三区| 亚洲欧美另类视频一区二区| 久久精品中文字幕视频| 美女黄色三级深夜福利| 伊人青青综合在线视频| 丝袜美腿亚洲综合性一区二区三区| 亚洲精品网站在线免费蜜桃| 日本一区二区三区四区不卡| 91精品在线视频成人| 精品区一区二区三区四| 中文字幕日韩人妻久热| 国产欧美一区二区三区久久人妖 | 人妻熟女在线观看中文字幕| 亚洲欧美激情综合中文字幕| 日韩国产免费一区二区| 一区二区亚洲精品国产精华| 五月婷婷在线观看高清| 99久久99久久精品免费观看| 色综合一区二区三区体内射精 | 五月婷婷丁香在线视频| 亚洲欧美中文字幕网站| 日韩欧美一区二区三区免费| 精品免费一区二区在线| 色综合一区二区三区体内射精| 精品人妻一区二区三区精品人妻| 国产专区精品综合在线| 欧美精品在线一区二区| 国产精品熟女中文字幕| 日本高清不卡二区三区| 欧美日韩国产中文综合| 蜜桃精品一区二区三区在线看| 日韩人妻第一区二区三区四区 | 国产视频一区二区三区四区| 国产中文字幕高清在线观看| 中文字幕在线乱码日韩| 中文字幕在线乱码日韩| 欧美亚洲色图综合一区| 久久99亚洲精品久久久久| 国产激情精品一区二区三区四区| 激情婷婷综合中文字幕| 在线视频人妻一区二区中文字幕| 欧美日韩一级中文字幕| 白领丝袜人妻中文字幕| 日本乱熟妇一区二区三区蜜臀 | 久久精品久久久久子伦| 日韩人妻少妇精品一区二区三区| 免费av在线观看av| 欧美日韩在线亚洲综合国产人| 日韩欧美人妻精品一区二区三区| 久久久久久久亚洲夜色| 欧美日韩另类一区二区三区| 日本性感黑丝美女一区二区| 国产老师丝袜白浆在线视频| 中文字幕成人熟女免费视频| 亚洲一区二区三区激情综合图片| 欧美三级影片在线观看| 成人看的污污超级黄网站免费| 国产一级二级精品二级在线| 欧美日韩激情中文字幕| 丝袜美女啪啪视频免费看全部| 青青青青视频在线最热| 成人小视频网站在线看| 欧洲精品一区二区在线| 中文人妻丰满熟妇伦子伦精品| 中文字幕日韩在线不卡| 本庄优花在线中文字幕| 成人国产精品免费观看视频| 在线视频中文字幕日本| 中文精品字幕人妻熟女 | 日本有吗免费亚洲一区二区| 日韩亚洲人妻在线观看| 青草高清视频在线观看| 日韩欧美一区二区三区在线视频| 日韩人妻中文字幕专区| 中文字幕在线视频日韩精品| 人妻熟女在线观看中文字幕| 麻豆午夜一区二区三区| 中文字幕三级视频在线| 国产精品欧美日韩在线 | 亚洲午夜精品在线免费| 亚洲精品色图一二三区| 色狠狠av一区二区三区香蕉| 久久婷婷视频在线观看| 一区二区中文字幕播放| 婷婷开心五月亚洲综合| 不卡免费视频一区二区| 欧美日韩亚洲视频一区二区| 欧美日韩综合一区在线免费| 免费看视频网站在线看| 国产老师丝袜白浆在线视频| 成年人特一级黄片免费视频| 熟女人妻影片中文字幕| 天天操天天射天天干天天日天天操 | 午夜福利天堂一区二区在线观看| 日本爱爱一区二区视频| 黄色av日韩在线观看| 亚洲一区二区三区黄色免费| 国产精品推荐在线视频| 欧美在线免费观看成人| 男女那个免费视频网站| 日韩高清中文字幕黄色| 亚洲欧洲国产另类精品自线| 天天日天天操天天射天天爽| 深夜福利视频在线观看播放| 国产不卡av在线播放| 精品一区二区三区不卡| 欧美日本一区二区不卡| 亚洲精品一区二区三区福利 | 国产中文字幕亚洲精品| 国产又大又爽又粗视频| 国产精品露脸在线午夜| 99这里有精品在线观看视频| av一区二区三区蜜桃| 日本美女美足一区二区 | 又长又硬又粗欧美啪啪| 精品日韩在线观看视频| 亚洲一区二区高清视频| 日韩欧美中文字幕视频| 欧美成人午夜精品久久久91| 国产精品丝袜高跟一区在线| 亚洲欧美日韩精品香蕉| 国产一二三区成人av| 久久精品亚洲熟妇熟女| 日韩亚洲人妻在线观看| 九月婷婷丁香六月在线| 国产精品极品美女自在线观看不卡| 国产伦理精品1区2区3区| 欧洲亚洲第一区第二区| 5g国产欧美日韩视频| 麻豆精品视频在线观看视频| 一区二区美女丝袜网站| 欧美日韩国产中文综合 | 乱子伦一区二区三区视频在线观看| 一区二区成人欧美人妻| 天天日天天射天天日天天射| 北条麻妃一区二区久久| 欧美视频激情在线首页在线| 视频免费在线观看网站| 色狠狠av一区二区三区香蕉| 美女午夜免费福利视频合集| 亚洲成人欧美日韩一区| 欧美大片一级特黄在线免费观看| 亚洲欧美日韩综合在线中文字幕| 精品欧美一区二区一级久久| 亚洲熟女一区二区三区视频| 在线视频人妻中文字幕| 熟女人妻av专区免费| 日韩美女av在线一区二区| 亚洲午夜美女福利视频| 中文字幕久久亚洲一区二区三区| 日本少妇高潮喷水视频| 国产精品三级av在线| 偷拍亚洲欧美日韩一区二区| 中文字幕日韩av四区在线观看| 亚洲欧美最新中文字幕在线观看| 福利视频一区二区国产| 欧洲亚洲韩国日本国产精品| 国产精品亚洲二区在线观看| 中文字幕人妻熟女人妻| 五月婷婷六月丁香亚洲一区二区| 国产视频自拍高清在线| 男女上床网站免费观看| 国产区一区二区三在线观看| 美女丝袜美腿亚洲一区二区三区| 国产经典三级一区二区| 变态另类欧美一区二区三区| 一区二区三区中文人妻| 亚洲成人精品一区二区在线观看| 亚洲欧洲精品成人在线| 国产熟女一区二区三区视频| 中文字幕在线高清婷婷| 在线播放日韩中文字幕| 亚洲国产综合在线一区| 久久视频一区精品视频| 欧美视频在线播放一区二区专区| 乱码精品一区二区三区| 日本少妇高潮喷水视频| 天天日夜夜操人人干人人插| 国产一级av一区二区| 久久久久久久亚洲夜色| 国产粉嫩一区二区三区在线观看| 天天日夜夜操人人干人人插| 一区二区美女丝袜网站| 一区二区人妻手机在线| 欧洲亚洲第一区第二区| 青青视频免费观看免费| 日韩一区二区三区四区日b小视频| 超碰97人人模人人爽人人爱| 99久久精品人妻系列| 亚洲一本久道中文字幕精品嫩草| 久久综合香蕉国产国产蜜臀av | 欧美国产另类中文字幕| 久久蜜臀av一区二区| 国产免费黄色一级影片播放| 亚洲欧美激情综合中文字幕| 亚洲乱色熟女一区二区| 欧美成人福利视频在线| 国产成人精品日本亚洲网站| 天天日天天射天天综合| 韩日一级人添人人澡人人妻精品| 国产综合精品中文字幕| 国产视频精品1区2区| 亚洲中文字幕在线有码| 麻豆精品国产专区在线观看| 亚洲精品一区二区尤物| 黄片视频网站在线免费观看| 成人国产精品免费观看视频 | 亚洲乱色熟女一区二区| 国产三级全部精品视频| 国产成人综合久久伊人| 欧美少妇高跟诱惑在线播放| 91精品在线视频成人| 欧美另类激情在线免费播放| 国产粉嫩一区二区三区在线观看| 福利一级黄色录像视频| 伊人青青综合在线视频| 中文字幕一区二区人妻免费不卡| 国产剧情中文字幕在线| 亚洲欧美日韩一区二区三区四区 | 中文字幕中文字幕在线中不卡| 无马一区二区三区四区五区六区| 国语自产精品视频二区在线| 不卡免费视频一区二区| 一区二区三区白浆在线| 日韩精品在线观看免费视频| 亚洲天堂久久久久久粉红视频| 免费久久99精品一二三区| 成人在线观看视频中文字幕| 国产片一区二区三区在线观看| 一区二区视频在线中文高清字幕| 亚洲熟女一区二区三区视频| 亚洲欧美人妻中文字幕| 一区二区三区日韩蜜桃| 星空无限传媒一二三区| 黄色av日韩在线观看| 成人午夜激情视频在线观看| 偷拍亚洲欧美日韩一区二区| 亚洲一区欧美一区日韩| 视频一区日韩中文字幕| 日韩欧美一区二区三区在线视频| 国产精品十八禁在线看| 精品人妻一区二区三区舒其| 中文字幕国产在线精品| 在线观看日韩精品免费| 亚洲午夜精品在线免费| 亚洲中文字幕在线观看免费 | 福利视频午夜福利视频| 人妻谢精体内一区二区| 久久亚洲欧美日韩一区| 日韩国产免费一区二区| 日韩精品福利视频免费观看| 五月婷婷丁香一区综合| 欧美黄片一级二级三级| 欧美午夜精品日韩另类| 亚洲天堂第一av网站| 成人国产精品视频一区| 综合亚洲一区二区三区| 欧美岛国国产日韩在线| 日韩中文字幕在线视频免费| 蜜桃av网址在线观看| 人妻熟女在线观看中文字幕| 精品久久久久蜜桃有码| 中文调教av一区二区三区| 欧美视频在线播放一区二区专区 | 亚洲欧美日韩精品香蕉| 国产视频区一区二区三| 国产精品少妇在线呻吟| 午夜福利日本在线观看| 国产欧美亚洲一区二区| 91精品国产成人久久久久久| 福利一级黄色录像视频| 国产又粗又硬又长又爽黄毛片 | 亚洲成人精品一区二区在线观看| 日本中文字幕视频在线一二区| 成人高清在线观看视频| 人妻精品系列一区二区三区| av精选日韩中文字幕| 国产肥臀视频一区二区三区| 一区二区中文字幕播放| 免费看视频网站在线看| 亚洲原创一区二区三区| 欧美日韩动漫精品中文字幕| 国产中文字幕亚洲赤目| 日韩av日韩av日韩| 青草高清视频在线观看| 亚洲天码中文字幕在线| 亚洲欧美日韩在线一区二区色 | 偷拍视频国内久久精品| 乱子伦一区二区三区视频在线观看| 99午夜福利免费视频| 中文少妇一区二区三区| 欧美成人福利视频在线| 午夜福利网站亚洲天堂| 天天操天天日天天色天天射| 人妻精品一区二区三区网站| 欧美一区二区三区成人在线| 久久麻豆一区二区三区| 国产又粗又猛又爽又黄视频 | 久久亚洲av色午夜麻豆精品| av高清不卡在线免费观看| 亚洲欧美最新中文字幕在线观看| 男女激情综合福利网站在线观看| 亚洲国产日本欧美一区| 午夜福利网站亚洲天堂| 亚洲精品国产一区久久| 青青草视频在线观看的| 久久久精品人妻一区二区三区四 | 欧美日本一区二区不卡| 亚洲国语乱码中文字幕| 青青草视频在线观看的| 91亚洲成人精品在线| 天天日天天射天天日天天射| 初撮一区二区三区久久| 国产青青青视频在线免费观看 | 国产片在线播放一区二区三区 | 亚洲五十路熟妇久久久| 久久久久av中文字幕| 日产精品久久久久久久性色| 超薄肉丝脚交一区二区三区| 日韩精品免费视频观看| 欧美激情性国产精品潮| 中文字幕亚洲一区二区三区五十路| 午夜老司机在线视频| 婷婷在线视频免费视频| 麻豆蜜桃伦理一区二区三区| 欧美视频激情在线首页在线 | 日韩激情视频免费观看| 国产在线一区二区三区不卡| 大香蕉手机视频在线看| 欧美中文字幕一区二区三区| 欧美熟妇乱色一区二区| 视频一区二区三区午夜| 日韩美女av在线一区二区| 午夜日韩欧美在线看| 五月婷婷丁香一区综合| 久久中文字幕国产精品| 欧美福利在线观看视频| 国产又大又长又粗的刺激视频| 美国一级特黄大片中字欧美| 欧美成人免费精品一区二区| 免费日韩一区在线观看| 国产欧美视频一区二区三区| 中文精品字幕人妻熟女| 午夜在线观看免费福利| 欧美日韩三区在线播放| 中文字幕视频一区人妻| 日韩高清中文字幕黄色| 韩日一级人添人人澡人人妻精品| 久草精品在线观看视频| 欧美亚洲中文日韩一区二区三区 | 婷婷精彩在线视频网站| 天天日夜夜操人人干人人插| 中文字幕三级视频在线| 黄色小网站之美女扣逼| 青青免费在线播放av| 五月婷婷六月丁香亚洲一区二区| 成人精品一区二区免费av| 久草资源福利视频观看| 亚洲欧美日韩无卡精品| 日韩国产精品免费在线观看| 国产中文字幕高清在线观看| 麻豆一区2区3区在线观看| 麻豆网站入口在线观看| 日韩精品一线在线观看| 日本亚洲中文有码视频| 亚洲欧美激情综合中文字幕| 极品尤物一区二区三区| 国产精品一二三四在线观看| 69精品人妻一区二区三区水蜜桃| 午夜福利日韩视频在线| 好吊妞国产欧美日韩一区二区三区| 91婷婷丝袜肉丝在线播放| 日韩欧美一区二区三区精品综合 | 五月天开心激情综合网| 中文字幕日韩在线不卡| 欧美日韩成人一区二区三区| 中文精品字幕人妻熟女 | 日韩在线中文字幕视频| 一区二区三区中文字幕在线视频| 婷婷综合在线视频精品| 男人插女人逼视频网站| 天天日天天干天天操天天爽| 欧美福利视频一二三区| 精品久久久久久中文字| 国模沟沟一区二区三区| 美女捆绑视频在线一区二区三区| 69精品人妻一区二区| 国产刺激一区二区三区| 午夜福利天堂一区二区在线观看| 日本精品在线不卡视频| 青青草原绿色华人在线| 福利一级黄色录像视频| 一区二区三区在线观看蜜桃| 午夜国产精品视频在线观看| 区一区二区三国产中文字幕| 一区二区三区在线观看蜜桃| 中文黄色字幕在线观看| 黄色三级日本在线观看| 国产精品亚洲二区在线观看| 东京视频一区二区三区| 亚洲黄色在线观看av| 天天操操天天日日天天射射| 青青在线免费观看视频| 欧美另类激情在线免费播放| 日韩中文字幕一区精品区七七av | 久草精品在线观看视频| 精品福利视频一区二区三区| 日韩亚洲国产激情一区二区 | 在线中文字幕日本一区| 深夜在线播放视频日韩| 国产中文字幕久久一区| 国产欧美一区二区三区在线看| 国产综合一区二区精品视频| 亚洲黄色av网址在线观看| 中文字幕在线播放有码| 欧美福利视频一二三区| 日韩美女丝袜视频诱惑| 欧美日韩精品一区 二区 三区| 国语自产精品视频二区在线| 欧美日韩国产在线中文| 99久热精品视频在线观看| 日本高清不卡二区三区| 欧美成人中文字幕人妻| 日韩精品网址在线观看| 91精品一区二区婷婷| 亚洲午夜美女福利视频| 精品日韩在线观看视频| 欧美伦理一区二区三区| 亚洲欧洲在线一区二区| 亚洲污污污视频在线观看网站| 国产农村妇女成人精品| 国产精品午夜福利清纯露脸| 激情五月综合图片欧美| 本庄优花在线中文字幕| 国内精品中文字幕人妻| 亚洲乱码一区二区av| 美腿丝袜国产在线视频| 日韩精品视频婷婷在线观看| av在线免费观看不卡| 日本黄页网站在线播放| 亚洲国产中文字幕一区二区| 国产又粗又猛又爽又黄| 亚洲一区二区三区九九| 涩涩的视频在线免费看| 91一区二区三区亚洲| 国产片一区二区三区在线观看 | 色综合一区二区三区体内射精| 国产精品三级av在线| 欧美三级视频中文字幕| 中文字幕在线乱码日韩| 国产精品少妇在线呻吟| 污污动漫在线观看视频| 午夜在线观看免费福利| 好好的日中文字幕在线| 色综合一区二区三区体内射精| 亚洲欧美日韩一区二区三区四区| 99在线视频精品观看| 亚洲伦理一区在线观看| 日本人妻日本中文字幕| 蜜桃视频在线观看黄版| 日本在线成人中文字幕| 亚洲国产一区二区三区三州| 国产精品久久亚洲不卡| 天天干夜夜操天天射俄罗斯| 国产91熟女高潮一区二区三区| 粉嫩极品美女国产精品| 欧美午夜免费激情视频| 日韩丝袜美腿一区二区| 日韩亚洲天堂久久综合| 欧美福利视频在线观看| 国产一区二区不卡在线观看视频| 欧美精品免费在线观看| 精品人妻一区二区在线| 最近最新中文一区二区| 国产福利视频一区在线| 色综合一区二区日本韩国亚洲| 男女上床视频免费在线观看| 国产欧美一区二区三区在线看| 蜜桃视频在线观看黄版| 黄色福利大片在线观看| 日韩欧美一区中文字母视频|