亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Flutter視頻播放進階:flutter_vlc_player兼容格式與實戰(zhàn)避坑指南

Flutter視頻播放進階:flutter_vlc_player兼容格式與實戰(zhàn)避坑指南 2. 為什么我會盯上 flutter_vlc_player1.1 video_player 解決不了的場景說個我自己踩過的坑。某次給一家客戶做內(nèi)部培訓(xùn)視頻終端視頻源五花八門有早年間用老攝像機錄的 AVI有從監(jiān)控系統(tǒng)導(dǎo)出的 TS 錄像還有 NAS 上的 MKV 課程合集。最初用 Flutter 官方生態(tài)最常見的 video_player 方案開發(fā)時全部播放 MP4 測試通過結(jié)果一上真機就翻車——AVI 文件在 Android 上黑屏無聲音TS 錄像直接在 iOS 上壓根進不了播放器。那段時間我白天改代碼、晚上來回拷文件最后發(fā)現(xiàn)根源不是業(yè)務(wù)代碼而是播放器核心里面少了足夠多的解碼器。video_player 在 Android 上默認(rèn)走的是系統(tǒng) ExoPlayer在 iOS 上走 AVPlayer這兩個播放器對標(biāo)準(zhǔn)的 MP4、HLS 等格式確實很成熟但一旦遇到老舊封裝格式、特殊編碼參數(shù)、多音軌中文字幕就會出現(xiàn)各種“能不能播看運氣”的情況。真正讓我下決心換方案的是客戶一句話“別人家的播放器什么都能放?!?這個“什么都能放”的要求靠系統(tǒng)播放器幾乎是填不滿的。后來我調(diào)研了幾條路自己集成 FFmpeg 底層封裝、用原生代碼寫播放器平臺通道、直接尋找 libVLC 的 Flutter 封裝。最終選了 flutter_vlc_player因為它背后依賴的是 libVLC 引擎解碼覆蓋能力比我手寫任何中間層都強得多。1.2 引擎層面的差異這里有必要說清楚為什么同樣是 Flutter 插件底子不同表現(xiàn)天差地別。媒體播放器播放一段視頻大致要經(jīng)過“解封裝Demux—解碼Decode)—渲染Render”三步。系統(tǒng)播放器為了體積和授權(quán)考慮自帶的解碼器通常只覆蓋通用場景遇到不常見的編碼格式就直接丟給系統(tǒng)軟解或干脆拒絕。而 libVLC 這個引擎走的是全格式思路把各種開源解碼器都集成進來封裝識別上又做了大量兼容處理所以它在處理 MKV、AVI、TS、FLV、MPEG-TS 這類格式時包容性比系統(tǒng)播放器高出一截。除了格式兼容flutter_vlc_player 還提供了比 video_player 更細(xì)的控制能力。比如字幕軌切換、音軌切換、播放速度調(diào)整、循環(huán)模式開關(guān)、硬件解碼開關(guān)、緩存策略調(diào)節(jié)。這些能力對做教學(xué)視頻、離線資源播放器、多語言字幕工具這類 App 來說非常關(guān)鍵。為了讓你直觀理解差別我整理了一個對比表基于我實際使用的體驗?zāi)芰S度video_playerflutter_vlc_playerlibVLC)常見 MP4 / HLS支持良好支持良好MKV / AVI / TS / FLV 等老格式經(jīng)常出問題覆蓋較好外掛字幕軌能力有限可動態(tài)加載音軌切換依賴系統(tǒng)支持接口直接可用硬件解碼策略系統(tǒng)自動可手動強制與切換網(wǎng)絡(luò)緩存參數(shù)可調(diào)整空間小可配置項多循環(huán) / 倍速有部分支持控制接口完整包體積小增加較多這張表并不是說 flutter_vlc_player 全盤優(yōu)于 video_player而是兩者定位不同。如果項目只播標(biāo)準(zhǔn) MP4視頻源你完全可控那 continue 用 video_player 更輕量。如果像我一樣要面對一堆“不知道來自哪里”的視頻文件那 flutter_vlc_player 就是真正的救星。2. 環(huán)境準(zhǔn)備與安裝避坑2.1 Flutter 環(huán)境與插件依賴引入 flutter_vlc_player 用的是標(biāo)準(zhǔn)依賴方式。在 pubspec.yaml 中聲明dependencies: flutter_vlc_player: ^3.0.0注意這里鎖版本非常關(guān)鍵。插件的舊版本和新版本在 API 上有不少調(diào)整比如 2.x 時代跟 3.x 時代的事件監(jiān)聽接口就有變化。我看到過不少報錯帖子問題恰恰是版本過舊或過新導(dǎo)致的接口不匹配而不是業(yè)務(wù)代碼本身有問題。加完依賴后執(zhí)行flutter pub get如果你的項目對包體積有硬性要求這里就要提前做好心理準(zhǔn)備。flutter_vlc_player 會把 libVLC 的核心庫和對應(yīng)平臺的解碼能力一并帶入應(yīng)用Android 和 iOS 的安裝包體積都會增加比較明顯。我的實際項目里Android APK 增加了大約 60MB 以上如果再把各種 ABI 都打進去體積增長還會更高。后續(xù)我們會聊到 ABI 壓縮方案這里先記住一個結(jié)論別默認(rèn)打開 app bundle 上傳到商店后什么都不管真機裝出來體積可能遠(yuǎn)超預(yù)期。2.2 Android 端密鑰與 Gradle 配置Android 端有一項繞不開的工作配置密鑰和倉庫地址。這個插件編譯時不是把 VLC 源碼打進包里而是從預(yù)編譯的 Maven 倉庫拉取對應(yīng)依賴所以你會看到插件文檔里要求配置一個固定的 Maven 倉庫地址和一個訪問用的密鑰。實際操作時在項目級 build.gradle 或 settings.gradle 倉庫配置里加入maven { url https://你的倉庫地址 credentials { username 你的用戶名 password 你的密鑰 } }這個密鑰段我當(dāng)初第一次配的時候犯了個低級錯誤——直接把用戶名和密鑰寫在了倉庫配置里結(jié)果同事 fork 項目后密鑰也被帶了出去。正確做法是不要把密鑰硬編碼到會被提交的配置文件里可以放到本地的 gradle.properties 中并加入本地忽略列表。這是非常容易被忽略的安全習(xí)慣做客戶端開發(fā)的一定要留意。配置完倉庫后還要處理 Android 的 ABI 過濾。我試過在模擬器上跑這個插件默認(rèn)配置下經(jīng)常遇到 so 庫加載失敗了原因很簡單模擬器大多是 x86 或 x86_64 架構(gòu)而 libVLC 預(yù)編譯包通常只提供了 ARM 架構(gòu)的庫。需要在 app/build.gradle 中聲明android { defaultConfig { ndk { abiFilters armeabi-v7a, arm64-v8a } } }這樣構(gòu)建時只保留 ARM 架構(gòu)的庫減少體積的同時也避免了模擬器環(huán)境下的加載異常。代價是模擬器上無法使用該插件進行調(diào)試這是需要提前和團隊說明的。2.3 Linux 桌面與 Windows 的系統(tǒng)依賴如果你的項目需要跑在 Linux 桌面端那還要先安裝系統(tǒng)級依賴。libVLC 在 Linux 上依賴 VLC 的運行時庫和開發(fā)頭文件。以我常用的發(fā)行版為例sudo apt update sudo apt install vlc libvlc-dev libvlccore-dev安裝完成后再跑 Flutter 項目桌面端才能正常初始化播放器。如果跳過這步編譯能過但運行時會直接提示找不到動態(tài)庫。Windows 端的情況相對麻煩一點。插件運行時需要 libVLC 的 Windows 動態(tài)鏈接庫并且需要放在應(yīng)用可以找得到的位置通常是項目目錄下的 plugins 文件夾或系統(tǒng) PATH 路徑中。更準(zhǔn)確的說明建議看插件文檔不同版本對運行時的查找路徑要求有差異。我這里能給的通用建議是下載與插件配套版本一致的 VLC 運行時庫不要隨意拿任意版本的 dll 混用我之前混過一次結(jié)果播放本地文件時報解碼器初始化失敗折騰了大半天最后發(fā)現(xiàn)是運行時庫版本和引擎版本不匹配。2.4 版本選擇與體積控制回到依賴選擇上來flutter_vlc_player 目前已經(jīng)不算是高頻更新的插件了所以不要一上來就選最新版要看它在真實項目中的反饋。我從項目實踐里的建議是選一個發(fā)布了一段時間、issue 區(qū)相對穩(wěn)定的版本。在 pubspec.yaml 中鎖定大版本號比如 3.x然后觀察實際表現(xiàn)再決定是否升級。體積控制方面除了上面提到的 ABI 過濾還可以開啟 Android App Bundle 的按需交付能力某程度上可以讓用戶只下載當(dāng)前設(shè)備所需架構(gòu)的庫。另外如果你的 App 同時使用了 FFmpeg 相關(guān)插件要特別注意重復(fù)打包問題。我遇到過 libVLC 底下的解碼庫和另一個視頻處理插件自帶的庫沖突直接導(dǎo)致運行時崩潰最后通過排除其中一個插件的依賴才解決。這類沖突光看編譯日志很難一眼發(fā)現(xiàn)需要在運行時抓 Logcat 中的 dlopen 報錯來定位。3. 基礎(chǔ)實戰(zhàn)一段能跑起來的播放代碼3.1 初始化并顯示畫面當(dāng)環(huán)境和依賴都就緒后第一步是把播放器實例化出來并在界面上看到畫面。flutter_vlc_player 的用法和官方 video_player 的 Controller 模型類似核心是創(chuàng)建一個 Controller然后把它和 VlcPlayerView 關(guān)聯(lián)起來。這里我貼一個最小可用的示例播放網(wǎng)絡(luò)視頻import package:flutter/material.dart; import package:flutter_vlc_player/flutter_vlc_player.dart; class VlcPlayPage extends StatefulWidget { const VlcPlayPage({Key? key}) : super(key: key); override StateVlcPlayPage createState() _VlcPlayPageState(); } class _VlcPlayPageState extends StateVlcPlayPage { late VlcPlayerController _controller; override void initState() { super.initState(); _controller VlcPlayerController.network( https://example.com/demo.mp4, hwAcc: HwAcc.auto, options: VlcPlayerOptions( vlcOptions: [ VlcGeneralOptions([ --network-caching2000, ]), ], ), ); } override void dispose() { _controller.dispose(); super.dispose(); } override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text(VLC Player Demo)), body: Center( child: VlcPlayerView( controller: _controller, aspectRatio: 16 / 9, placeholder: const Center(child: CircularProgressIndicator()), ), ), ); } }初始化這里的 network 構(gòu)造函數(shù)會直接開始加載并拉流。如果你想讓畫面立刻顯示建議不要讓播放器在 initState 中做太多邏輯。我實際操作的習(xí)慣是先創(chuàng)建 Controller再監(jiān)聽它的初始化狀態(tài)等播放器真正初始化好了才把配套的播放按鈕、進度條渲染出來因為它有一個異步初始化過程否則 UI 出來的瞬間播放器可能還沒有做好接收指令的準(zhǔn)備。3.2 播放進度與狀態(tài)控制播放器的常見操作包括播放、暫停、跳轉(zhuǎn)進度、獲取時長。這些操作在 VlcPlayerController 上都有對應(yīng)的方法await _controller.play(); await _controller.pause(); await _controller.seekTo(Duration(seconds: 30)); final duration _controller.value.duration; final position _controller.value.position;這里要注意Controller 內(nèi)部的 value 是一個類似播放狀態(tài)快照的對象當(dāng)播放器還沒有初始化完成時duration 可能是零position 也不會更新所以 UI 上要做防空判斷別在數(shù)據(jù)還沒就緒時就強行計算百分比。對于進度條的更新我踩過一個性能坑如果直接用 Timer 每隔 20 毫秒去讀取一次 position再配合 setState 更新進度條低端 Android 機上能明顯感覺到卡頓。更好的方式是讓進度條跟隨一個合理的刷新頻率去更新即可可以每 300 到 500 毫秒刷新一次或者等收到播放器事件流里的 position 更新事件再刷新。還有一個“看起來簡單但容易遺漏”的問題是進度條拖動結(jié)束后要重新連接 UI 到播放器實際狀態(tài)。拖動時用戶手指的位置是本地值松開后要立刻調(diào)用 seekTo 并把本地拖動狀態(tài)清除否則就會出現(xiàn)“我拖到 50 秒了但進度條又跳回 10 秒”的怪現(xiàn)象。這個問題 90% 的原因是掛在拖動事件里沒有正確觸發(fā) seekTo。3.3 事件流與狀態(tài)監(jiān)聽關(guān)于播放狀態(tài)監(jiān)聽flutter_vlc_player 提供了事件流接口。通過它我們可以感知播放器是否初始化完成、是否緩沖、是否播放結(jié)束等。示例如下_controller.onPlayerEventStream.listen((event) { switch (event.type) { case VlcPlayerEventType.playing: print(播放中); break; case VlcPlayerEventType.paused: print(已暫停); break; case VlcPlayerEventType.timeChanged: // 更新進度 break; case VlcPlayerEventType.encounteredError: print(播放出錯: ${event.errorCode}); break; default: break; } });事件流非常有用尤其是 encounteringError 這類事件。我在實際項目里通常會把錯誤事件和 UI 狀態(tài)綁定起來出現(xiàn)解碼失敗時給用戶一個“當(dāng)前格式暫不支持”的可視化提示而不是讓畫面一直黑在那里用戶根本不知道發(fā)生了什么。還要補充一點這些事件 Stream 也是需要釋放的資源。如果你的 Controller 在頁面銷毀時沒有一并取消訂閱在頁面來回切換多次后很有可能出現(xiàn)內(nèi)存泄漏或重復(fù)回調(diào)。我自己的習(xí)慣是在 Controller 的 dispose 流程里把 StreamSubscription 一并 cancel。3.4 循環(huán)、倍速與音量控制基礎(chǔ)的播放、暫停解決后再處理幾個高頻率需求。循環(huán)播放是教學(xué)視頻、演示視頻常用的功能插件里有對應(yīng)的接口await _controller.setLooping(true); // 開啟循環(huán) await _controller.toggleLoopingControl(); // 切換循環(huán)狀態(tài)我測試下來setLooping 的效果是穩(wěn)定可用的循環(huán)結(jié)束時不會觸發(fā) encounteredError。需要注意的坑是如果你同時監(jiān)聽播放結(jié)束事件并在 UI 里做了“播放完成后自動跳回列表頁”的邏輯循環(huán)開啟時要避免沖突不然就會出現(xiàn)在循環(huán)第一秒時頁面跳走的問題。倍速播放用起來也比較直接await _controller.setPlaybackSpeed(1.5);它可以直接傳入小數(shù)比如 0.5 到 2.0 之間。但測試時要注意部分格式的視頻在高倍速下音頻會明顯變調(diào)這不是 bug是 libVLC 默認(rèn)對音頻做了重采樣處理。真機表現(xiàn)還可以如果你覺得變調(diào)明顯也可以關(guān)閉倍速下的音頻后處理通過 VLC 的選項參數(shù)來實現(xiàn)。音量控制方面使用 setVolume 接口傳入一個整數(shù)百分比即可。這里有個細(xì)節(jié)flutter_vlc_player 的音量控制只作用于當(dāng)前播放器的音頻通道不會改動系統(tǒng)媒體音量這和 video_player 的行為不太一樣。如果你希望用戶按物理音量鍵時同步調(diào)整播放器音量在移動端還需要額外處理系統(tǒng)音量監(jiān)聽不要默認(rèn)它和系統(tǒng)聯(lián)動。4. 進階實戰(zhàn)從“能播”到“好用”4.1 多實例與動態(tài)切流真實項目里一個頁面同時存在多個播放器實例的需求并不少見。比如視頻列表頁里每個卡片都顯示一個“預(yù)覽窗口”。flutter_vlc_player 支持創(chuàng)建多個 Controller也就是多實例播放。你可以在一個頁面里同時創(chuàng)建兩個 Controller分別播放不同視頻final controllerA VlcPlayerController.network(urlA); final controllerB VlcPlayerController.network(urlB);多實例在操作層面沒有太多限制但要特別留意內(nèi)存占用。libVLC 的解碼器會為每個實例分配獨立資源開多了之后低端機上很容易出現(xiàn)掉幀嚴(yán)重、內(nèi)存告警。這種場景下建議限制同時活躍的播放實例數(shù)量比如實現(xiàn)一個簡單的“可見才播放不可見就暫停并釋放”的策略。滾動列表時只讓當(dāng)前滾動停止后可見的播放器保持活躍其它全部 pause 甚至 dispose這是我在實際項目里比較有效的做法。動態(tài)切流是另一個高頻需求同一個播放器用戶點擊下一條視頻時不重新創(chuàng)建頁面而是直接切換數(shù)據(jù)源。實現(xiàn)方式上可以先 pause 當(dāng)前播放再向 Controller 傳入新地址重新初始化。我這里提供一個參考思路Futurevoid switchSource(String url) async { await _controller.pause(); await _controller.stop(); await _controller.setMediaFromNetwork(url); }但注意不同版本對 setMediaFromNetwork 這類接口的支持并不一致。舊版本沒有這類方法時通常的做法是直接 dispose 舊 Controller再創(chuàng)建新的然后把新的 VlcPlayerView 交給頁面。切換過程中界面容易出現(xiàn)短暫黑屏通過給頁面加一層 loading 遮罩來過渡體驗會好很多。4.2 外掛字幕與音軌切換教學(xué)類視頻經(jīng)常需要外掛字幕flutter_vlc_player 對字幕軌的處理比系統(tǒng)播放器友好。加載本地字幕文件的基礎(chǔ)寫法是await _controller.addSubtitleTrack(/storage/emulated/0/subtitle.srt);這里最容易被坑的是文件權(quán)限。在 Android 上直接讀外部存儲路徑時你必須在運行時申請好文件讀取權(quán)限不然字幕文件路徑對播放器不可見調(diào)用后沒有任何效果。不是字幕工具沒生效而是文件根本讀不到。再深一層字幕編碼的問題值得單獨說。中文字幕文件如果是舊系統(tǒng)導(dǎo)出來的很可能不是 UTF-8 編碼而是 GBK 或者 GB2312。libVLC 雖然能在桌面端自動識別一部分編碼但在移動端封裝下效果不夠穩(wěn)定。如果字幕加載出來后全是亂碼按照我實際的處理經(jīng)驗更好的方法不是去改播放器參數(shù)而是把字幕文件在讀取時統(tǒng)一轉(zhuǎn)碼成 UTF-8 后再傳給播放器。加一個小工具函數(shù)用 UTF-8 編碼重新寫文件能省掉后面大量問題。音軌切換同樣實用。一些雙語視頻自帶雙音軌用戶需要在中英文之間切換await _controller.setAudioTrack(trackIndex);這里要確認(rèn) trackIndex 的具體值。有些版本是從 0 開始計有的版本則把 -1 當(dāng)作禁用音軌最好在調(diào)用前先讀取播放器的音軌列表拿到實際的軌道編號再切換不要憑感覺隨便傳一個數(shù)字進去。4.3 后臺播放與音頻會話策略視頻類 App 經(jīng)常會遇到一個場景用戶播放某個教學(xué)視頻切到后臺時希望聲音繼續(xù)但視頻畫面可以暫停。這點上 Flutter 本身不禁止關(guān)鍵要看播放器底層的資源策略是否在后臺被系統(tǒng)強制掛起。在 Android 上后臺播放需要結(jié)合前臺服務(wù)或應(yīng)用級別的配置單純靠播放器插件是做不到的。在 iOS 上則要開啟后臺音頻模式在 Info.plist 中配置對應(yīng)的權(quán)限描述字符串這屬于原生層面的配置不寫清楚的話后臺就靜音。我當(dāng)初第一次做后臺播放時忽略了這些原生配置真機測試時切后臺直接沒聲音日志里全是系統(tǒng)音頻會話被中斷的記錄。除了系統(tǒng)權(quán)限插件自己的選項也能幫上忙。libVLC 提供了控制音頻輸出時長的選項比如在播放器 options 里配置避免系統(tǒng)在長時間無操作后自動中斷音頻會話。另外切后臺時不要直接調(diào)用 pause而是只停止視頻渲染、保留音頻通道這樣用戶切回來時也能更快恢復(fù)播放畫面。這類細(xì)節(jié)需要結(jié)合具體需求去調(diào)并沒有萬能參數(shù)。4.4 弱網(wǎng)與緩沖策略視頻播放器在弱網(wǎng)環(huán)境下的表現(xiàn)直接影響用戶對 App 的評價。flutter_vlc_player 的優(yōu)勢在于緩存參數(shù)完全開放。初始化時可以通過 VLC General Options 設(shè)置網(wǎng)絡(luò)緩存時長VlcGeneralOptions([ --network-caching3000, --live-caching3000, ])這里的單位是毫秒。數(shù)值越大播放器更傾向于先緩沖足夠數(shù)據(jù)再播放卡頓概率降低但首屏延遲會變長。數(shù)值太小延遲低但遇到網(wǎng)絡(luò)波動就很容易斷斷續(xù)續(xù)。我的經(jīng)驗是點播場景設(shè)置 2000 到 3000 毫秒比較平衡直播或?qū)崟r性要求高的場景則調(diào)低到 500 到 1000 毫秒。再結(jié)合事件流里的緩沖狀態(tài)回調(diào)可以在 UI 上顯示“加載中”狀態(tài)。實際場景里還有一個值得推薦的策略當(dāng)播放器連續(xù)出現(xiàn)多次重新緩沖時不要傻等直接在業(yè)務(wù)層提示用戶切換更低的清晰度。因為部分網(wǎng)絡(luò)環(huán)境下等再久也無法順暢播完不如降低碼流換取流暢度。這個判斷邏輯可以寫在事件流監(jiān)聽里當(dāng)返回緩沖事件的頻率達(dá)到閾值時彈出提示。5. 常見問題與排查技巧實錄5.1 初始化失敗與黑屏播放器黑屏是最常見的問題。表面上畫面沒出來但音頻可能已經(jīng)正常播放。遇到這種情況先從三個方向排查。第一確認(rèn)密鑰和倉庫配置正確。Android 上如果依賴下載失敗插件可能在初始化階段直接拋異常這類報錯通常能在 Gradle 構(gòu)建日志里看到。第二確認(rèn) ABI 過濾沒有把真機需要的架構(gòu)排除了。第三確認(rèn)視頻本身可以正常播放換一個標(biāo)準(zhǔn) MP4 測試。這三步能排除掉絕大多數(shù)初始化黑屏問題。我還遇到過一種很隱蔽的情況視頻畫面沒有黑屏但被一個不透明的占位容器蓋住了。VlcPlayerView 里 placeholder 和視頻畫面的層級關(guān)系在不同版本里可能有差異。如果你自定義了外層容器記得檢查是不是給它設(shè)置了不透明背景色并覆蓋了整個播放器區(qū)域。5.2 聲音正常但畫面一直卡住排除了黑屏之后畫面卡住、音頻正常的問題也很讓人頭疼。這種大多和解碼策略有關(guān)。對著老舊視頻或高分辨率視頻系統(tǒng)自動選擇的硬解方案可能和編碼格式不匹配導(dǎo)致視頻解碼速度跟不上。我的處理思路是先改用軟解測試VlcPlayerController.network( url, hwAcc: HwAcc.disabled, options: VlcPlayerOptions( vlcOptions: [VlcVideoOptions([--avcodec-hwnone])], ), );如果軟解后畫面流暢說明問題出在硬件解碼兼容性上這時候再手動切換成其他硬件解碼方式或鎖幀率。這種方式可以理解為“換一條路走”硬解吃力時先用軟解確定方向再尋找與設(shè)備匹配的硬解方案。5.3 視頻比例變形與裁剪問題很多視頻源的分辨率標(biāo)記并不準(zhǔn)確播放器渲染時按錯誤的長寬比顯示結(jié)果就是畫面被拉伸或擠壓。我在代碼里通常會強制給 VlcPlayerView 設(shè)置 aspectRatio然后再結(jié)合業(yè)務(wù)需求決定是裁剪還是留邊。如果是要視頻不同比例的適配可以開啟 VLC 的 crop 等選項來裁剪。注意aspectRatio 是 Widget 層面的尺寸比例它不會改變視頻內(nèi)部渲染比例。有些開發(fā)者在這里反復(fù)調(diào) UI 都無效就是因為真正控制視頻畫面比例的其實是 libVLC 內(nèi)部的選項。5.4 播放器釋放與內(nèi)存泄漏頁面退出后播放器是否正常釋放決定了長時間使用的穩(wěn)定性。用 flutter_vlc_player 時必須在頁面 dispose 里調(diào)用 Controller 的 dispose。這塊看起來簡單實際操作中容易漏的是Controller 創(chuàng)建后還可能被別的地方持有引用比如全局管理類、事件流、定時器。我自己踩過一個印象深刻的坑做了個音頻播放列表用戶頻繁打開和關(guān)閉頁面后發(fā)現(xiàn) App 內(nèi)存持續(xù)上漲。排查半天發(fā)現(xiàn)是列表頁持有的播放器列表沒有在退出時清空每個頁面雖然調(diào)了 dispose但列表里還有 Controller 引用垃圾回收根本沒法釋放。所以建議統(tǒng)一做一個播放器管理器頁面退出時不僅 dispose還要從管理器集合中移除引用。5.5 問題速查表現(xiàn)象常見原因解決思路Android 模擬器初始化報錯ABI 不匹配換真機調(diào)試或限制 x86 架構(gòu)Linux 桌面啟動閃退缺少系統(tǒng) VLC 庫安裝 libvlc-dev 等依賴中文外掛字幕亂碼字幕文件非 UTF-8轉(zhuǎn)碼后再加載循環(huán)播放失效與結(jié)束事件邏輯沖突檢查 UI 層是否提前跳轉(zhuǎn)直播間連麥聲音異常緩沖區(qū)設(shè)置過大降低 live-caching 數(shù)值切換視頻時短暫黑屏舊播放器銷毀較慢創(chuàng)建過渡遮罩先 loading 后播放后臺播放無聲音缺少原生音頻會話配置檢查 Permissions/Info.plist畫面比例變形錯誤使用 aspectRatio結(jié)合內(nèi)部裁剪選項一并調(diào)整寫在最后的幾點真心話回到標(biāo)題里的“進階”兩個字。很多 Flutter 開發(fā)者一開始接觸視頻播放都是能出畫面就滿意了真正做產(chǎn)品時才發(fā)現(xiàn)一個能播不同格式視頻的播放器只是地基。flutter_vlc_player 讓我印象最深的一點是它在格式兼容上的霸道——它解決了“用戶拿來的文件我能不能播”的問題把大量不確定因素?fù)踉谝嬷?。不過我也得說句實話這不是一個萬能鑰匙。它犧牲了體積和部分性能換來了兼容性。如果你的播放場景非常標(biāo)準(zhǔn)化所有視頻都由自己的轉(zhuǎn)碼服務(wù)統(tǒng)一輸出 MP4那 video_player 的輕量方案反而更合適。我用 flutter_vlc_player 的場景都是“視頻來源不可控”的項目它在那些項目里幫我少加了很多班。最后再分享一個小技巧。很多人在項目里直接用插件自帶的默認(rèn) UI但播放控件在個別版本上交互并不跟手。我習(xí)慣把所有默認(rèn)控件關(guān)掉自己接一套 UI用事件流驅(qū)動狀態(tài)更新。前期多花一點時間后面適配不同業(yè)務(wù)需求時反而輕松很多。希望這篇內(nèi)容能讓你少踩幾個我踩過的坑至少面對黑屏和崩潰時心里能有個大概排查方向。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情久久久| 日韩图色| 国产欧美日韩女同性恋ww喷水精品| 久久久久久中文版| 欧洲熟妇xxXx欧美老妇裸体| 色官网色综合| 亚洲男人在线观看天堂| 91狠| av午夜影院在线播放| 啊啊啊好舒服视频在线观看| 91干熟女| 久久久久亚洲三级电影| 国产怡红院在线| 99久久无色码| 激情图片亚洲色图| 97久精品| 婷婷色香| 精久久久91| 熟女啪啪视频| 91日日| 亚洲色图超碰在线| 婷婷尹人大香蕉免费| 96精品久久| 茄子社区国产精品| 欧亚成人在线视频| 日本天天干天天搞一区| 浪人综合网| 在线播放免费av福利片| 欧美日韩国产色五月综合在线 | 亚洲啪啪视频一区二区| 日韩八十路老熟女| 97在线青| 狠操91,com| 亚洲免费97免费| av资源在线播放天堂| 欧美碰碰综合色| 天天综合网视频91| 日韩无码人妻中字久久三区四区| 狠狠躁AV| 伊人久久大香蕉线AV五月天| 九九色逼| 99啪啪| 国产超碰人人操| 果冻国产精品麻豆成人av| 欧美伦乱| 深夜激情| 美女网站91| 久久日韩肥臀| 一级毛片电影免费看| 青青欧洲黑| 久久久久久久久久黄色网| 精品性爱无码在线播放| 色小视频蜜乳| 欧美日韩夜夜| 国产少妇高潮| 后入日本1234| 色噜噜国产精品视频一区二区| 日本日日色视频| 欧美日本天堂| 97国产|免费| 五月天婷婷社区| 亚洲无码日韩电影| 欧美一区二区三区入口| 性爱动态120秒| 婷婷性爱| 国产精品乱码久久久久久久| 后入福利视频| 成人怡红院| WWW操逼| 久久精品国产亚洲AV高级北京| 国内毛片欧美香蕉精品| 大香久久| 日韩欧美字幕亚洲一区二区| 日韩精品一区的| 天天爽天天干| 艳尻美人妻| 午夜精品久久久久久久99| av天天在线| 揉揉揉夜夜| 中文一区二区三区影院| 神马视频久久久久久| 99青青草国产视频| 蜜乳AV色欲AVAV无码| 欧美人妻少妇| 天天做天天爱夜夜爽毛片试看| 天天日老熟妇| 久久精品老司| av影片在线观看不卡| 日韩激情视频| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 欧美高清性猛交| 精品96久久| 91色综合色| 日韩无码一区二区三区| 综合网亚洲1| 日日骚中文字幕| 三级特黄60分钟播放| 国产精品久久久吖| 九九精品热| 国产精品视频电影| 精品午夜福利导航| 精品久久視頻在线| 超碰久在线天天做| 日韩在线欧美精品一区二区| 少妇久久久久久| 九九干| 殴美牲| 亚洲精品久久一区二区三区蜜桃臀| 97色97好| 蜜臀久久99精品久久久久| 亚洲天堂一区| 丁香五月影院| 国产精品乱码久久久久久久久| 91色欧美| 美国一区二区免费视频| 狠狠穞A片一區二區三區| 五月婷婷丁香六月| 少妇精品久久久八区九区| 4tube欧美女厕所| 国产极品99热在线播放69| 啪啪资源网| 大香蕉伊人在线成人AV在线观看| SS久久| 做爱A级亚欧| JULIA人妻风俗店中出电影| 99热aaa| 熟妇色99| 日韩pv中文| 亚洲同性aV综合| 久久99操天天日| 密臀国产在线| 亚洲AV无码国产成人| 日本女人操逼| 综合亚洲欧美| 99re这里| 99热思思| 国产精品视频内谢女人| 色五月激情网| 91情色| 91亚洲青青草原精品1区| 久久综合精品一区二区三区| 用力操死我| 久操免费在线| 免费97视频| 日日摸夜夜夜夜爽| 后入式999| 日本色婷婷| 97亚洲欧美| 97色伦欧美| 麻豆天美91| 亚洲情色在线| 精品国产www久久| 久久久91福利姬| 人人扣人人操| 蜜臀在线视频| 99久久com免费视频′| 人妻天天爽| 欧美成人性爱视频大全| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 性色av大全| 呻吟 欧美 日本 中出| 国产又黄又粗的视频| 伊人婷婷五月天| 91狠狠综合久久| 影音综合网| 91成人久久| 大香久久| 成人一区二区三区四区| 国产偷拍网站| 精品人妻一二三四区视频| 中文AV制服乱伦| 亚欧中文字幕在线视频| 欧美 亚洲 第一页| 夜夜骑日日| 艳美熟妇先锋一二三区| 91欧美综合| 久草精品国产蜜臀| 色色婷婷丁香| 午夜福利精品| 探花视频免费观看国产专区| 一区二区三区在线资源| 亚洲人妻在线精品| 大香交| 超碰 97国产熟女| 丰满人妻一区二区三区四区| 亚洲宗合电影| 久久久激情| 亚洲一区在线观看欧洲| 亚洲综合113页| 96久久精品一二三区色欲| 久久久专区| 久久性爱视频| 搡老熟女老女人老熟妇免费视频| asc国产精品| 色 婷97| 久久色情| 人人操人人狠狠操| 国产自产自拍| 一本色道久久天天射天天干| 精品97久久综合| 一区二区日韩欧美久久| 中文字幕第9页萱萱影音先锋| 91 亚洲 欧洲| www.色婷婷色综合| 一区在线观看中文字幕| 国产精品ⅴ无码大片在线看.| 蜜桃久久久久久久| 一区二区精品更新提醒| 欧美传媒一区| 久久不卡一区二区 | www老逼91| 亚洲天堂久久| 成人网址在线观看| 99视频自拍| 韩国三级理论在线| 强奸乱伦日韩AV| 国产精品成人福利在线| 男女啊啊啊| 99操逼| 中文字幕欧美精品亚洲日韩蜜臀| 精品超碰国产| 亚洲欧综合另类无码一区| 色欲久久99精品久久| 蜜臀av在线播放一区二区三区| 免费精品国偷自产在线在线 | 91精品国产91久久久久久久久久久久| 91激情网| 老熟女综合网| 少妇久久久久久久久| 粉嫩少妇自慰在线| 超碰欧美97资源| 色综合大香蕉| 九九视频黄色片| 八戒无码国产午夜福利| 色妇综合网| 后入国产| 综合激情二| 美女尤物人人操| 色噜噜精品一区二区三| 天美精品原创av片国产| 青青草原av| 中文字幕福利视频一区二区三区在线观看| 正宗无毛一线天嫩逼| 久久不卡一区二区 | 国产精品乱码久久久久| 免费99精品国产自在在线| 久悠悠av| 欧洲精品一二三在线| 熟妇女人妻呻吟久久AV| 97人人操人人干| 激情综合网激情五月天| 国产版a级片直播在线| 超碰美国| 国产家庭乱伦性爱视频| 亚洲国产美女久久久久| 超碰97综合在线| 国产精品扒开腿做爽爽爽视频| 狠综合网| 久久系列| 抽插无码高清一区| 美女的肌被草喷水视频| 亚洲91少妇| 亚码人妻| 国产白丝精品在线观看| 亚欧成人一级片在线播放| 超碰 国产熟女精品一区| 情色五月天网| 97国产|免费| 亚洲性爱乱操x| 粉嫩av在线一区二区| www.av在线视频| 精品久久久亚洲AV成人网站| 欧美精品999| 97免费在线观看| 中国一级特黄大片护士| 狠狠色狠狠色狠狠五月| 色乱二区| 磁力99AV| 翔田千里Av在线| 天天干天天狼在线视频| 欧美性巨大╳╳╳╳╳高跟鞋| 大学生口爆吞精| 激情第四色| 蜜臀av中文字幕| 国产精品久久久久久高清无码免费看 | 无码粉嫩白虎一线天b区| 91欧洲入口| 性videos欧美熟妇hdx| 操啊国产| 青娱乐亚洲热| 亚洲图片欧美色| 熟妇操花| 国产视频97| 成人美女av| 国精综合一二三区影视| 校园春色宗合网| 高清有码一区二区| 亚洲AV免费在线观看| 绯色AV粉色AV蜜臀AV| 伊人操操| 大黄片做爱的大的| 涩涩久久精品| ji熟女.com| 丁香婷婷色五月| 骚鸭AV| 日本福利二区视频| 18精品一二区| 色色色综合| 综合欧美亚洲| 久九九九九九九热| 亚洲在线网站| 性性欧美| 色五月婷婷在线| 大香蕉伊人75| 亚洲天堂东京热| 日本精品五区| 亚洲情色一区综合| 亚洲AV噜噜狠狠网址蜜桃动漫| 美女一区二区国产精品| 无码99| 性无码专区2020| 三级片大波波| 91在线视频观看国产| 蜜乳av首页| 久久亚洲一区女同性恋中文字幕| 边做饭边操逼逼| 91天堂视频| 久草网站免费在线观看| 日韩99999色| 八戒午夜福利理论片| 色五月网址| 九九久久久| 嗯……啊…嗯嗯…啊…好舒服| 热热热热日日漂亮永久永久国产日| 强奸乱伦av电影| 黑人精品久久97| 亚洲一区日韩| 中国AV美女| 综合久久99亚洲人妻中文在线| 亚洲丝袜诱惑| 久久国99999| 99久久精品无码一区二区| 小草精彩毛片| 亚洲国产一区二区三区四区国产| 久久久久亚洲一区女同性恋中文字幕| 99热超碰在线| 91午夜无码| 97久久国产精品| 97大色网| 91欧美| 熟女这里只有精品6| 久久侵犯人妻爽爽爽| 深夜激情 | 蜜臀AV网站| 操碰97| 欧美大片天天看| 99亚洲精品| 国产精品无码久久久久2028| 欧美午夜色妇色鬼| www.99热| 在线v中文字幕一区二区三区| 东京热精品97综合网| 亚洲高清无毛一区二区| 亚洲国产剧情少妇激情| 亚洲福利影院一区久久| 久久人妻四季| 激情五月婷婷综合| 免费久久精品麻豆一区二区av| 日本高清熟女久久一区| 性开放中文AV高清无码免费看| 在线97在线| 久热免费视频| 静品嫩模一区二区| 搡老女人老妇女AAA一VU麻豆| 一区二区三区蜜桃成人撸久久东京热| 激情小说五月天| 无码聚合| 99在线无码精品秘 入口黑人| 日本中文字幕一区| 熟妇人妻一区二区 | 日日夜夜青青草母狗| 日本成人A片网站| 久久伊人最新网址视频| 精品一区96| 婷婷亚洲综合| 伊人影院中文字幕| 麻豆黄四叶草网站| 后入 亚洲 美女 射| 牛牛操视频逼| 免费视频在线一区二区不卡| 成人一区二区三区四区| 亚洲色婷婷| 欧美性爱另类综合| 丁香六月啪啪| 91爱综合| 江都AV在线| 亚洲宅男天堂| 精品人妻夜夜草| 天天看人人操屄犊摸阴| 久久肏大逼| 亚洲精品天堂久久A∨51成人漫| aV中文麻| 中文字幕在线免费观看 | 国产成人亚洲精品无码古代早漏男| 97在线日韩中文字幕| 超碰超碰欧美| 九九热免费在线国产视频伊人五月| 黄色视频60分钟| 亚洲精品国产无码高清| 亚洲黄色电影| 97国产精品| 国产无码精品久久久久久| 91丝袜美腿片| 精品二区三四区五电影| 青青草成人视频在线观看二区| 操逼逼无码| 大香网伊人久久综合| 亚洲色欲天天天堂色欲网女| 伊人网高清| 日本一卡二区在线| 手机在线中文字幕国产 | 国产亚洲 中文欧美久久| Blackedraw视频一区二区| 亚洲综合另类| 国产精品一区午夜福利| 第四色奇米影视777| 欧美天天| 丁香婷婷大香蕉| 亚洲精品欧美专业| 国产乱码久久久| 久久久久国产精品久久久| 国产精品第一页国产大屁股视频免费区i| 青青草中出视频 | 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 久久国产精品,久久国产| 五月丁香激情综合网| 日本欧美一区二区三区免费| 岛国在线免费视频| 五月激情综合网| 亚洲男人天堂网久久| 丁香五月天堂网| 鲁鲁色综合网| 亚洲资源一区| 欧美日韩 强奸乱伦| 人人操 欧美| 国产超碰| 97公开久久| 亚洲欧美97√| 亚洲 欧美 手机在线观看| 久久狠狠色噜噜狠狠狠狠97| 亚洲色天堂九9| .精品人妻一区二区三| 校园春色综合网| 久久久精品国产亚洲伊人| 精品人妻一区二区蜜桃视频 | 青青草大香蕉视频| 岛国视频一二三区| 九九成人| 十八禁黄色| aaaa黄片| 精品无码人妻一区二区免费蜜桃| 欧美变态激情网| 91网站18| 欧美午夜精品久久久久久超碰| 亚洲成人碰碰| 久久风骚城市人| av午夜影院在线播放| 无色无码| 日韩色女精品| 三级特黄60分钟播放| 黄色激情电影在线观看| 国产精选三级在线观看| 97精彩视频网站| 日韩无码第3页| 人人看人人摸人人色| 精品欧美乱码久| 日韩精品视频在线观看一卡二卡| 亚洲欧美经典一区二区 | 91综合色| 久久最新免费视频23| 97久久精品国产| 又粗又长又大国产不卡| av无码精品久久久久| 黄网在线播放| 91青青在线| 婷婷导航| 国产精品人妻无码久久久老鸭窝| 岛国毛片手机在线观看| 欧美很很操视频| 蜜臀在线网站| 女优免费一区二区永久| 亚洲揄拍网| 夜夜操青青草| 青青青草伊人精品| 亚卅熟女乱色| 欧美色图91| 少妇与黑人高潮在线| 九九九精品色乱九九九| 60秒不遮不挡| 北京专精特新企业招聘信息| 欧美在线|亚洲| 久久久久国产精品喷潮免费观看臀 | 1769一区| 蜜臀99999| 精品成人动漫一区二区| 亚洲av无码成人精品国产| 白丝AV网站| 少妇啪啪自拍| 欧美激情精品久久久久久| 国产又黄又粗的视频| 99自拍视频在线观看| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 一区二区三区国产在线播放| 97人人模人人爽人人| 欧美日韩亚洲天堂网| 天天拍夜夜| 丝袜夫妻自拍| 日韩精品视频在线观看一卡二卡| 欧美97在线观看| 欧美日韩午夜精品一区二区三区| 国产免费一区在线观看| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 欧美激情性久久久久久| 亚洲性爱高潮影院| 天天操夜夜操狠很操| 亚洲天堂另类美腿| 色噜噜精品一区二区三| 另类 综合 日韩 欧美 亚洲| 国产日韩无码一区二区三区久久区| 婷婷综合激情| 四虎影视永久在线免费| 日韩精品三级片长长久久| 日本一级特级毛片视频| 久久久久骚| 一区二区三区四区免费视频| 加勒比少妇AV婷婷六月天超碰超碰| 级做a爱无码性色永久免费| 日本一二区免费| 无码乱人伦中文视频| 欧美日韩人妻少妇 一区二区三区| 精品亚洲一区在线观看| 成人综合网 欧美| 91久久久久久| 亚洲欧美日韩精品久久久一区二区 | 美女毛片999| 久久丁香| 日韩欧美国产高清视频| 亚洲图片欧美另类综合免费视频大大香| 丁香五月婷婷五月| 亚洲一区二区性爱电影| 欧美日韩97在线| 97色色色综合网站| 中亚精品极乱| 五月丁香色色网| 日va操| 人妻偷拍一区二区三区| 91挑色欧美| 在现视频女上位好爽| 亚洲国产精品无码AV久久| 玖日综合网| 日本天天干天天搞一区| 多乙久久久久久| 亞洲久久直播| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 人人澡人人澡人人| 嗯嗯啊啊视频一区二区三区| 亚洲91在线播放影院| 精品二区三四区五电影 | 欧美国产精品| 操逼免费视频无码国产| 风间由美日韩欧美久久| 夜夜爽妓女| 天天综合AV| 伊人综合色网| 干b在线性社区| 天天爽夜夜欢视| 久久久久亚洲一区女同性恋中文字幕| 伊人青青草久久| 99色日| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 吉川爱美亚洲二区在线 | 亚洲无码视频免费在线观看网址!| 性性久久| 日韩中文字幕宗合在线| 91 亚洲 欧洲| 九月丁香婷婷| 91麻豆天美传媒HD| 亚洲欧洲无码一区夜| 激情六月天| 殴美牲| 97超碰热线| 国产午夜视频| 日日日日做夜夜夜夜做无码97| 婷婷久久综合| 欧美色图亚州激情| 国产丝袜高跟美女av免费观看| 亚洲综合网电影91| 久婷婷一区| 中文字幕免费看| 欧美,日韩,中文,另类| 少妇一区二区三区在线观看| 十八禁啪啦拍视频无遮挡| 美女天天干| 91九九| 人人妻人射| 九九性视频| 日本不卡三级网在线播放| 凹凸视频特色日本特黄| 日日操丁香五月天| 五月丁香社区婷婷日韩欧美精品影院| 精品久久一区二区三区四区五区| 无码免费精品高清| 性爱动态120秒| 炮色五月| 国产精品午夜精品| 久久久96| 国产三级电影免费观看| 欧美亚洲第一页| 五月丁香婷婷啪啪| 日本999精品| 精品人妻一区二区三区视频在线| 九99久久| 91性高朝久久久久久久久| 无套后入双马尾| 2017人人操,人人摸| 亚欧无码线免费观看视频| 人人妻人人澡人人爽人人精品浪潮| 69丨亚洲丨精品丨入口免费播放| 精品999日本| 精品国产乱码久久久久久网站入口| 蜜汁欧美| 91久久精品国产| 粉嫩久久久久| 国产在线激情| 黄色av一区二区在线| 亚洲制服欧美另类内射| 久9视频| 亚洲图片 激情小说| 色眯眯av| 中国农村熟妇毛片视频| 艹精品| 日本九九久久99播| 精品对白久久不卡| 发朗少妇买婬全视频中文| 日韩精品 资源| 97操97干| 夜夜草网站| 天天拍天| 免费在线观看国内色片网站网址| 亚洲欧美经典一区二区| 91狠狠色丁香婷婷综合久久| 久久一二区四| 91少妇人妻| 五月激情视频| 俞拍久久国应视频| 人妻AV 中文字幕的| 天天操av懂色| 美女91网站| 亚洲射综合网| 东京热视频网| 日韩啪啪啪视频| 亚洲色欲天天天堂色欲网女| 成人性爱全视频观看| 欧美在线视频99| 91欧美www| 久久性爱网站| 99少妇| 久久丁香五月婷婷| 小电影欧美91| 91oumei| 国产精品 视频| 蜜臀精品1区2区| 91丝袜在线观看| 91在线视频免费中出| 丰满人妻一区二区中文| 欧美牲| 情色五月天久久久| av无线看| 超碰天天去日穴| 曰本人妻人人澡人人夹| 日韩无码嘿咻黑热久| 天美传媒av一区二区| 四方色播| 97久久精品国产| 亚州免费啪啪视频| 91精品网站| 99啪啪视频| 97国产高清视频在线观看| 日韩在线AB| 国产精品一区av在线| 91久久国产综合久久| 天天干夜夜| 狼天天狼天天大香蕉| 五月天精品| 草b在线| 亚洲AV秘 精品久久老牛影视| 日韩99神马视频播放片在线播放| 插B在线观看| 一区二区 韩日AV| 亚洲无无码αⅴ每日更新| 大香蕉久操| 免费1级a做爰片观看| 天天干天天操天天拍| 中出20p| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 99色日| 五月天色五月| 国产精品网址| 亚洲熟女诱惑| 日韩无码AB| 青青操青娱乐| 嫩草伊人久久精品| 久久婷婷五月综合| 萌白酱自拍视频| 欧美综合网在线| 亚洲AV在线资源| 搞中出视频在线观看| 日本中文熟女视频| 成人青青草原伊人| 亚洲男人综合网| 美女黄页| 99亚洲天堂| 国产成人自拍视频在线| 午夜精品久久久99热蜜桃的功能特点| 久热69九色熟妇97| 曰韩av中文字幕专区| 91青青| 久久99深爱久久99精品| 国产精品自拍欧美在线| 色噜噜人妻丝袜AV资源| 黑人嘿嘿嘿超爽免费视频| 91美女国产在线| 欧美午夜色妇色鬼| 国产欧美第五页| 国产精品久久久久av| 国际精品久久久| 北野未奈加勒比av| 国产无遮挡| 国精品一区二区三| 亚洲,欧美,春色,另类| 黑人免费福利视频| aa片毛片| 欧美亚洲中文| 男人在线天堂| 呦呦影院| 亚洲欧洲中文日韩女优乱码| 日韩不卡码| 九九热超碰97亚洲最新香蕉 | 啊啊啊不要好爽日韩无码一区| 91亚洲欧洲| 十八禁电影伊人网| 激情小说亚洲图片| 超碰日韩美妻| 中文字幕精品专区搜索结果91| 五月婷婷大香蕉| www99热| 国内毛片国产专区二| 久久精品一区二区| dy888午夜老子影视达达兔| 无码视频一区二区| 偷拍在线观看视频| 精品97久久综合| 精品视频久久区| 91美女高潮| 91天堂丝袜美腿| 不卡视频一区蜜桃视频| 亚洲激情色片 | 凹凸 69堂 在线播放| 日韩精品人妻中文字幕有码午| 黄页视频网站野外| 国产精品免费视频人成| 看免费一级在线播放毛片| 欲色综合| 国产色产精品在线观看| 久艹99| 91老妇女| 亚洲91网| A 在线网址| 在线看片国产精品每日更新| 一起草视频在线| 亚洲av噜噜噜噜噜噜| 超碰97极品9| 99热这里只有精品18| 九九九九97| 亚洲欧洲日韩中文字幕一区| 4虎在线视频| 少妇淫妇久久久久久久| 四虎在线免费视频| 东京热大香蕉| 蜜乳av一区二区| www.激情| 黄久在线| 色综合加勒比| 成年女人黄网站| 人妻AV在线| 日韩电影天堂视频一区二区| 91嫩草欧美| 97视频免费在线| 黄片免费日韩| 日本日皮视频逼| 美女久久久久久久| 五月天人妻综合| 亚洲国产成人精品999| 亚洲日韩在线a不卡99精品| 欧美日韩传媒| 在线观看AV片| 亚洲熟妇无码一区二区三区| 搡老熟女老女人老熟妇免费视频| 在线综合色| 精品人妻1237| 国产精品一区二区麻豆| 青青草华人在线欧美在线| 夜夜免费视频| 看日韩黄片| 啊…啊…操我用力操我| 亚洲综合小说另类图欧美视频激情小说色五月天 | 国产又黄又粗又猛大片| 国产精品人妻免费精品| 四方色播| 92人人操人人| 色网在线| 亚洲啪啪视频免费| 国产无套粉嫩白浆在| 日韩啪啪啪啪啪| 蜜桃精品一区二区三区久在线| 国产精品久久久久久久久久久久久久久久| 人人妻人人澡人人爽人人精品浪潮| av2014 日韩在线中文字幕| 超碰吊日色| 天天看天天在线精品| 狠狠中文字幕| 日本少妇va7777| 69精品| 九九热精品| 国产精品天干天干综合网麻豆| 国产精品97超碰| 成人亚欧免费视频| 午夜精品久久久久| 亚洲天堂在线怕怕视频| 天堂无码精品国产久| av日韩在线观看电影| 五月婷婷六月天| 欧美后入式| 成人免费不卡在线视频| 蜜桃成人1区2区3区| 在线综合 亚洲 欧美中文字幕| jiujiujiujingpin| 老司机射| 公司1区2区3区精产精| 天美传媒AV在线| 69超碰综合| 激情小说亚洲| 亚欧国产无码精品在线| 亚洲丝袜B诱惑| 最新av中文字幕高清| 久久久久久国产无码精品| 午夜天堂精品久久久久91| 蜜臀AV成人精品蜜臀AV久久| 天天操天天看| 婷婷综合激情| 天久久久噜噜噜久久国产精品爽爽 | 国产97/欧美| 中文久久爆乳| 一二三区精品视频| 亚州情色j区| 人妻啪| 色踪合AV| 超碰九色| 大香蕉520| 9I1性色影院| 91蜜臀熟女| 精品人妻视频入口| 亚欧美综合网。| 激情久久av一区av二区av| 吉田爱美AV在线| 亚洲成人日韩小说| 人妻蜜桃臀| 色精品极品| 丁香六月激情| 0755午夜福利视频| 伊人影院在线理论播放| 在线观看啊啊啊啊啊| 国产操逼视频在线观看| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 99国产精品久久久在线播放| 亚洲欧美伦综合| 欧洲中文字幕| 免费啪啪一级视频| 精品人妻av区天天看片| 六月激情婷婷| 无码高清少妇久久| 一本大道久| 爱欲AV| 国产一级αv免费看片| 亚洲网自拍| 一区二区三区欧美激情| 美女让帅哥通她小鸡鸡| 男女性感激情网站| 九九热精品视频六| 1区2区3区中文字幕日韩| 性爱视频免费网址| 日韩欧美麻豆 | 99热在线只有精品| 一区二区三区四区五区高清无码永久视频| 1禁看欧美黄片免费看| 四虎免费看黄| 校园春色 男人天堂| 玖玖久久久| 啊啊啊啊啊啊啊网址在线观看| 国产亚洲精品av一区| 青草视频人妻在线观看| 天堂无码精品国产久| 久久啊啊啊视频| 麻豆亚洲Av成人无码一区精品| 亚洲交换| 国产欧洲精品亚洲午夜拍精品| 日韩一级特黄av毛片| 亚洲超碰综合网| 福利风月五月天影院| 国产一级高清免费观看| 怡红院怡春院| baisiav| 久久草大香蕉| 两性色网| 日韩成人精品| 日韩十八禁| 国产日本顶级一区二区三区| 99热只有这里有精品| 亚洲欧美校园| 大乔未久88一区| 久久只有精品一区二区三区| xxx0国产在线播放| 久久久精品中文字幕爱豆| 日本超碰97日韩精品人妻| 欧美另类综合久久| 飘花国产午夜精品不卡| 综合情欲网| 大乔未久88一区| 久久久久9999妇女| 天天综合香 ld视频| 久久黄色性爱视频| 激情抓乳插进去啪啪啪日韩 | 90后性网国产欧美| 亚洲日韩美女中文字幕乱| 亚洲综合夜色| 青草视频人妻在线观看| 岛国成人av在线播放网址| 丝袜 中出 制服 人妻 美腿 中文字幕| 亚洲drav色图| 久湿久久| 97人人夜| 欧美双插| 五月丁香激情四射| 成人五月天丁香激情综合| 久久精品电影| 91性| 国产怡红院在线| 亚洲欧美激情小说| 久久日本熟妇熟色一区| 一区二区国产视频在线观看| 99久久综合网| 国产91美女高潮| 无码人妻一区二区一牛影视| 韩国一级做A片免费的| 日韩成人性日韩成人性爱视频在线免费观看 | 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 97丝袜亚洲在线播放| 亚洲超碰在线| 精品 码产区一区二-1080P高清在线www-B029AV | 日本人妻一区二区| 97 超碰 人人做 人人爱| 精品久久久久久中文字幕三区| 男人的天堂99| 九九九九热| 亚洲无码精品AV久久久| 久久婷婷成人综合色怡春院| 黄资源| 亚洲国内精品成人不卡| 操操操操网黑人| 大香蕉色欲AV| 天天干人人乐| 波多野结衣AV无码一区| 日韩无码极品| 岛国色情视频在线观看| JIZZJIZZ亚洲女人被躁| 中国熟妇| 欧美日韩国产成人高清| 久久精品熟妇丰满人妻99| 97国产精品久久久久| 一区二区 电影 亚洲| 国模限制级电影| 97公开久久| 凹凸 69堂 在线播放| 久久久涩| 五月丁香六月综合缴清无码| 亚洲人妻久久| 中文字幕中文字幕一区二区| 天天综合97| 懂色AV蜜臀无码精品APP| 久久久久久日韩| 日本在线不卡一二区| 亚洲精品a人片在线观看视| 99色热国产视频精品| 国产毛片在线| 中文字幕一区av| 天天色怡春院| 91搡老女人老妇女老熟女歌词翻译| 视频在线中文字幕| 亚洲av国产av综合av卡| 精品三级在线专区| 强奸乱亚洲| 91熟女综合| 一区二区视频在看| 国产中文精品一区二区在线观看| 26uuu国产亚洲综合| 特级特黄一级毛片免费| 五月丁香六月综合缴清无码| 亚洲97超碰| 亚洲中文字幕网| 五月天加勒比啪| 国产无码三级视频在线观看| 欧美片第一页| 奸色色 男人天堂 天天射| 精品无码一区二区| 加勒比综合在线| 国产精品无码av在线 | 国产地址二三| 人妻精品免费一二三区| 国产成人午夜视频网址| 大香网站| 国产精品久久久久久久久久久久久久久久久久 | 大香蕉草草| 大香蕉伊人75| 女同性恋久久| 91精品国产乱码| 美女操逼A A| 九九热免费视频| 在线 欧美 亚洲| 国产人妻天天干精品| 嗯啊抽插大香蕉网页| 欧美日韩一区二区三区四区蜜桃| 国产AV久久野战精品| av日韩在线观看电影| 国产无马av| 羞答答AV中文字| 日韩亚洲中文字幕在线| 日韩啪啪网| 97超碰影音| AV九九| 一卡二卡三卡| 黄色一级视| 97精品一区| 久久久久免费少妇| 97在线免费公开视频| 老熟女91视频| 一区二区三区在线资源| 免费网站观看www在线观| 欧美91久久久久| 美女久久久久久久久久久| 综合久久久久久久综合网| 91GD.COM| 欧美第五页| 久久九九99| 日本国产欧美一区三区二区| 亚洲国产欧美另类自拍| 天天色粽合合合合合合合| 欧美一二在线| 啪啪视频亚洲第一| 澳门成人网站久国产日韩| 亚洲狠狠入| 成人 日韩欧美一区| 91强在线播放| 亚欧性爱ab| 亚州欧美色图| 97天天做| 性色av网站| 欧美色图欧美| 超碰国产情侣自拍网| 欧美精品不卡一二三四在线91| 中文一区二区三区影院| 色综合尤物| 九九热国产| 亚洲青色欧美| 国产亚州日韩欧美看片| 亚洲欧洲日产国产综合网| 久久男人天堂| 日韩在线97| 91麻豆va国产精品| 东北女人操逼| 天天干夜夜| 久久精品亚洲婷婷| 国产女人与拘做受视频免费| 殴美牲| 97精品视频| 中文熟女五十乱码在线| 国产美女口爆吞精视频| 日本有码久久| 日韩人妻播放| 啊啊啊啊好多水| 欧美久久婷婷| 成人5码视频| 五月丁香黄色网| AV色五月天| 很很干很很操| 女人被添高潮免费视频| 色网1| 日韩另类色图| 国产成年精品高清在线观看91| 操人妻丝袜高跟| 家庭乱伦性爱av| 野狼福利社区| 97久操| 偷拍在线观看视频| 日韩有码免费视频| 色999五月色| 日韩亚洲精品一区二区| 性性久久| 亚洲二区精品在线观看| 国产久久天堂资源| 久久夜夜夜| 内射中出日韩在线观看视频| 亚洲 欧美 日韩 国产一区二区 | 91美女精品| 97热视频在线观看| 青青草在线成人视频| 国产精品一区二区a| 7月婷婷综合| 久久综合婷婷| 人人干黄色| 亚洲一区二区AV| 91老司机精品| 91在线一起| 操淫穴亚洲五月丁香 | 色偷综合| 亚洲熟女av中文字幕| 丁香五月激情婷婷| 再深点灬舒服灬太大了添视频 | 久久色网| 久久男人| 97精品一区| 欧美在线第五页| 日韩二级| 性色乱AV一区二区| 蜜色网色哟哟| www.zbzhongsen.com| 人人人摸人人| 人人爱人人乐人人操| 欧美人人天天网| 麻豆AV一区二区| 熟啊v色欧美热| 欧美图片色综合| 五月天激情网图片| 97人肏| 天天干美少妇一区| 激情接吻视频久久久久久| 国产视频人人网| 亚洲伊人成综合成人网| 呦女网站| 97中文综合| rion磁力链接|