導航:首頁 > 網路問題 > 網路流怎麼推

網路流怎麼推

發布時間:2022-10-30 06:11:46

❶ 高分:網路流問題

一、引言

網路流演算法是一種高效實用的演算法,相對於其它圖論演算法來說,它的模型更加復雜,編程復雜度也更高。但是它綜合了圖論中的其它一些演算法(如最短路徑、寬度搜索演算法),因而適用范圍也更廣,經常能夠很好地解決一些搜索與動態規劃無法解決的非np問題。
網路流在具體問題中的應用,最具挑戰性的部分是模型的構造,它沒用現成的模式可以套用,需要我們對各種網路流的性質了如指掌(比如點有容量、容量有上下限、多重邊等等),根據具體的問題發揮我們的創造性。一道問題經常可以建立多種模型,不同的模型對問題的解決效率的影響也是不同的,本文通過實例探討如何確定適當的模型,提高網路流演算法的效率。

二、網路流演算法時間效率

當我們確定問題可以使用最大流演算法求解後,就根據常用的ford-fulkerson標號法求解;而最小(大)費用最大流問題也可用類似標號法的對偶演算法解題。ford-fulkerson標號法的運行時間為o(ve2),對偶法求最小費用流的運行時間大約為o(v3e2)。

顯然,影響網路流演算法的時間效率的因素主要是網路中頂點的數目與邊的數目。這二個因素之間不是相互獨立的,而是相互聯系,矛盾而統一的。在構造網路模型中,有時,實現了某個因素的優化,另外一個因素也隨之得到了優化;有時,實現某個因素的優化卻要以增大另一因素為代價。因此,我們在具體問題的解決中,要堅持"全局觀",實現二者的平衡。

三、模型的優化與選擇

(一)減少模型的頂點數與邊數,優化模型

如果能根據問題的一些特殊性質,減少網路模型中的頂點的數目和邊的數目,則可以大大提高演算法的效率。

例1:最少皇後控制

在國際象棋中,皇後能向八個方向攻擊(如圖1(a)所示,圖中黑點格子為皇後的位置,標有k的格子為皇後可攻擊到的格子)。現在給定一個m*n(n、m均不大於於50)的棋盤,棋盤上某些格子有障礙。每個皇後被放置在無障礙的格子中,它就控制了這個格子,除此,它可以從它能攻擊到的最多8個格子中選一個格子來控制,如圖1(b)所示,標號為1的格子被一個皇後所控制。

請你編一程序,計算出至少有多少個皇後才能完全控制整個棋盤。

圖1(a) 圖1(b)

輸入格式:
輸入文件的第一行有兩個整數m和n,表示棋盤的行數與列數。接下來m行n列為一個字元矩陣,用''.''號表示空白的格子,''x''表示有障礙的格子。

輸出格式:
輸出文件的第一行僅有一個數s,表示需要皇後的數目。
sample input
3 4
x...
x.x.
.x..
sample ouput
5

問題分析]

如果本問題用簡單的搜索來做,由於題目給的棋盤很大,搜索演算法很難在短時間內出解。由於一個皇後在棋盤最多隻能控制兩個格子,因此最少需要的皇後數目的下界為[n*m/2]。要使得皇後數目最少,必定是盡量多的皇後控制兩個格子。如果我們在每兩個能相互攻擊到的格子之間加上一條有向弧,則問題很類似於二分圖的最大匹配問題。

[模型一]

1. 將每個非障礙的格子按行優先編號(0~m*n-1)。
2. 將上述的每個格子i折成兩個格子i''和i'''',作為網路模型中的頂點。
3. 若格子i可以攻擊到格子j且i<j,則在模型中頂點i''到j''''之間加上一條有向弧,容量為1。
4. 增加一個源點s,從s點向所有頂點i''添上一條弧;增加一個匯點t,從所有頂點j''''到t添上一條弧,容量均為1。

圖1(b)所示的棋盤,對應的模型為:

圖2

顯然,任一解對應於以上模型的一個最大匹配。且最大匹配中,匹配數必定是偶數。因此至少需要的馬匹數為m*n-障礙數-最大匹配數/2。

[模型二]

如果我們將棋盤塗成黑白相間的格子,則某皇後控制的兩個格子一定是一個是黑格,另一個是白格(如圖3),不妨設這兩個格子中皇後在白格子上。於是,我們將n*m個格子分成兩部分白格與黑格。因此我們可以將模型一優化為:

圖3

1.將棋盤中的所有格子分成兩個部分,對所有的格子進行編號,每個白格與它能攻擊到的黑格之間(障礙除外)添上一條從白格到黑格的弧,構成一個二分圖。

2.增加一個源點s,從s點向所有非障礙的白格添上一條弧;增加一個匯點t,從所有非障礙的黑格到t添上一條弧。

3.設置所有的弧的流量為1。
圖1(b)所示的棋盤,對應的模型為:

圖4

[兩種模型的比較]

顯然,模型二的頂點數與邊數大致是模型一的一半。下面是在bp環境下兩種模型的時間效率比較(p166/32m):

模型一 模型二

可擴展性 不易列印出一種解 容易列印出一種解

模型二正是根據問題的特殊性(即馬的走法),將網格中的格點分成白與黑兩類,且規定馬只能從白格跳到黑格,從而避免將每個格點折分成兩個點,減少模型的頂點數,同時也大大減少了邊的數目。達到了很好的優化效果。

(二)綜合各種模型的優點,智能選擇模型

有時,同一問題的各種模型各有特色,各有利弊。這種情況下,我們就要綜合考慮各種模型的優缺點,根據測試數據智能地選擇問題的模型。

例2火星探測器(ioi97)

有一個登陸艙(pod),里邊裝有許多障礙物探測車(mev),將在火星表面著陸。著陸後,探測車離開登陸艙向相距不遠的先期到達的傳送器(transmitter)移動,mev一邊移動,一邊採集岩石(rock)標品,岩石由第一個訪問到它的mev所採集,每塊岩石只能被採集一次。但是這之後,其他mev可以從該處通過。探測車mev不能通過有障礙的地面。
本題限定探測車mev只能沿著格子向南或向東從登陸處向傳送器transmitter移動,允許多個探測車mev在同一時間占據同一位置。

任務:計算出所有探測車的移動途徑,使其送到傳送器的岩石標本的數量最多,且使得所有的探測車都必須到達傳送器。

輸入:

火星表面上的登陸艙pod和傳送器之間的位置用網路p和q表示,登陸艙pod的位置為(1,1)點,傳送器的位置在(p,q)點。

火星上的不同表面用三種不同的數字元號來表示:

0代表平坦無障礙
1代表障礙
2代表石塊。
輸入文件的組成如下:
numberofvehicles
p
q
(x1y1)(x2y1)(x3,y1)…(xp-1y1)(xpy1)
(x1y2)(x2y2)(x3,y2)…(xp-1y1)(xpy2)
(x1y3)(x2y3)(x3,y3)…(xp-1y3)(xpy3)

(x1yq-1)(x2yq-1)(x3,yq-1)…(xp-1yq-1)(xpyq-1)
(x1yq)(x2yq)(x3,yq)…(xp-1yq)(xpyq)
p和q是網路的大小;numberofvehicles是小於1000的整數,表示由登陸艙pod所開出的探測車的個數。共有q行數據,每行表示火星表面的一組數據,p和q都不超過128。

[模型一]

很自然我們以登陸艙的位置為源點,傳送器的位置為匯點。同時某塊岩石由第一個訪問到它的mev所採集,每塊岩石只能被採集一次。但是這之後,其他mev可以從該處通過,且允許多個探測車mev在同一時間占據同一位置。因此我們將地圖中的每個點分成兩個點,即(x,y)à(x,y,0)和(x,y,1)。具體的描述一個火星地圖的網路模型構造如下:

1. 將網格中的每個非障礙點分成(x,y)兩個點(x,y,0)和(x,y,1),其中源點s = v(1, 1, 0),匯點t = v(maxx, maxy, 1)。

2. 在以上頂點中添加以下三種類型的邊e1,e2,e3,相應地容量和費用分別記為c1、c2、c3以及w1、w2、w3:

u e1 = v(x, y, 0) -> v(x, y, 1),c1 = maxint,w1 = 0。
u e2 = v(x, y, 0) -> v(x, y, 1),c2 = 1,w2 = -1(這里要求(x, y)必須是礦石)
u e3 = v(x, y, 1) -> v(x'', y'', 0),c3 = maxint,w3 = 0.

其中x''=x+1 y''=y 或x''=x y''=y+1,1 <= x'' <= maxx,1 <= y'' <= maxy,且(x'' y'')非障礙。

從以上模型中可以看出,在構造的過程中,將地圖上的一個點"拆"成了網路的兩個節點。添加e1型邊使得每個點可以被多次訪問,而添加e2型邊使得某點上的礦石對於這個網路,從s到t的一條路徑可以看作是一輛探測車的行動路線。路徑費用就是探測車搜集到的礦石的數目。對於網路g求流量為numberofvehicles的固定最小費用流,可以得到問題的解。

[模型二]

事實上,如果我們只考慮這numberofvehicles輛車中每輛車分別依次裝上哪些礦石。則每輛車經過的礦石就是一條流,因此我們以網格中的礦石為網路的頂點建立以下的網路流模型。

1. 將網格中的每個起點(網格左上角)能到達,且能從它能到達終點(右下角)的礦石 (x,y)點分成左點(x,y,0)和右點(x,y,1)兩個點,並添加源點s和匯點t。
2. 在以上頂點中添加以下五種類型的邊e1,e2,e3,相應地容量和費用分別記為c1、c2、c3以及w1、w2、w3:

u e1 = v(x, y, 0) -> v(x, y, 1),c1 = 1,w1 = -1。
u e2 = v(x, y, 1) -> v(x'', y'', 0),c2 = 1,w2 = 0(礦石點(x, y)可到達礦石點(x'',y''))。
u e3 = s -> v(x, y, 0),c3 = 1,w3 = 0。
u e4 = v(x, y, 1)->t,c4 = 1,w4 = 0。
u e5=s->t,c5=maxint,w5=0。

由於每個石塊被折成兩個點,且容量為1,就保證了每個石塊只被取走一次,同時取走一塊石塊就得到-1的費用。因此對以上模型,我們求流量為numberofvehicles的最小費用流,就可得到解。

[兩種模型的比較]

1.模型一以網格為頂點,模型二以礦石為頂點,因此在頂點個數上模型二明顯優於模型一,對於一些礦石比較稀疏,而網格又比較大的數據,模型二的效率要比模型一來得高。且只要礦石的個數不超過一定數目,模型二可以處理p,q很大的數據,而模型一卻不行。

2.模型一中邊的數目最多為3*p*q,而模型二中邊的數目最壞情況下大約為p*q*(p+1)*(q+1)/4-p*q。因此在這個問題中,若對於一些礦石比較密集且網格又比較大的數據,模型二的邊數將大大超過模型一,從而使得時間效率大大低於模型一。

下面是網格中都是礦石的情況比較(piii700/128m ,bp7.0保護模式):
numberofvehicles=10 模型一 模型二

通過以上數據,可知對於p,q不超過60的情況,模型一都能在10秒內出解。而模型二則對於p、q=30的最壞情況下速度就很慢了,且p、q超過30後就出現內存溢出情況,而無法解決。

因此,對於本題,以上兩種模型各有利弊,我們可根據測試數據中礦石稀疏程度來決定建立什麼樣的模型。若礦石比較稀疏,則可以考慮用建立如模型二的網路模型;若礦石比較密集則建立模型一所示網路模型。然後,再應用求最小費用最大流演算法求解。對於p,q>60,且礦石比較多情況下,兩種模型的網路流演算法都無法求解。在實際的應用中問題經常都只要求近似解,此時還可用綜合一些其它演算法來求解。

四、結束語

綜上所述,網路流演算法中模型的優化是網路流演算法提高效率的根本。我們要根據實際問題,從減少頂點及邊的角度綜合考慮如何對模型進行優化,選擇適當的模型,以提高演算法的效率。對於有些題目,解題的各種模型各有優劣時,還可通過程序自動分析測試數據,以決定何種情況下採用何種模型,充分發揮各種模型的優點,以達到優化程序效率的目的。

❷ potplayer 怎麼播放網路流

PotPlayer播放器程序的獲取:直接在網路中搜索「PotPlayer」即可從搜索結果中獲取對應程序的下載地址。如圖所示:

播放視頻的方法:右擊播放器窗口,從彈出的右鍵菜單中依次選擇「打開」項,此時將展開「打開」子菜單項,從中選擇相應的子項即可實現視頻的播放操作。

如圖所示,當我們選擇「打開鏈接」項時,將彈出如圖所示的窗口,在此直接粘貼要播放的視頻文件地址,點擊「確定」即可進行在線視頻觀看操作。

高級設置菜單:右擊播放器界面,從彈出的菜單中選擇「選擇」項,就可以打開「高級選項」菜單。

播放器皮膚的更改:右擊播放器窗口,在彈出的擴展菜單中選擇「皮膚」項,就可以從其擴展面板中使用其它皮膚啦。

播放列表的開啟:右擊播放器右下角的「打開/隱藏播放列表」按鈕,就可以開啟或隱藏播放列表啦。

❸ 直播-拉流和推流怎麼設置

直播-拉流和推流首先要了解拉流和推流的原理。

直播中視頻編碼器可以稱為推流,就是把前端的視頻畫面通過編碼器推流到各個直播平台。

推流中只要將直播平台的推流地址復制到編碼器管理後台即可實現推流操作。比方說RTSP,RTMP推流等。

視頻解碼器可以稱為拉流,就是把你網路的視頻流通過解碼器拉流還原到大屏上顯示,顯示包括電視、拼接屏等。如果需要把視頻還原在大屏幕顯示出來,就需要解碼器。設置跟編碼器同樣道理。

直播編解碼器原理圖

❹ MX播放器里的網路流怎麼用

MX video player支持網路流媒體播放,打開播放器,在網路流裡面輸入目標視頻的URL即可,需要配合3G或者無線網路進行。以前人們在網路上觀看電影或收聽音樂時,必須先將整個影音文件下載並存儲在本地計算機上,然後才可以觀看。與傳統的播放方式不同,流媒體在播放前並不下載整個文件,只將部分內容緩存,使流媒體數據流邊傳送邊播放,這樣就節省了下載等待時間和存儲空間。

❺ C++網路流 殘量網路是什麼意思 傳遞閉包是什麼意思,怎麼求

求網路流有很多演算法,這幾天學習了兩種,記錄一下EK演算法。
首先是網路流中的一些定義:
V表示整個圖中的所有結點的集合.
E表示整個圖中所有邊的集合.
G = (V,E) ,表示整個圖.
s表示網路的源點,t表示網路的匯點.
對於每條邊(u,v),有一個容量c(u,v) (c(u,v)>=0),如果c(u,v)=0,則表示(u,v)不存在在網路中。相反,如果原網路中不存在邊(u,v),則令c(u,v)=0.
對於每條邊(u,v),有一個流量f(u,v).

一個簡單的例子.網路可以被想像成一些輸水的管道.括弧內右邊的數字表示管道的容量c,左邊的數字表示這條管道的當前流量f.

網路流的三個性質:
1、容量限制: f[u,v]<=c[u,v]
2、反對稱性:f[u,v] = - f[v,u]
3、流量平衡: 對於不是源點也不是匯點的任意結點,流入該結點的流量和等於流出該結點的流量和。
只要滿足這三個性質,就是一個合法的網路流.
最大流問題,就是求在滿足網路流性質的情況下,源點 s 到匯點 t 的最大流量。

求一個網路流的最大流有很多演算法 這里首先介紹 增廣路演算法(EK)
學習演算法之前首先看了解這個演算法中涉及到的幾個圖中的定義:

**殘量網路
為了更方便演算法的實現,一般根據原網路定義一個殘量網路。其中r(u,v)為殘量網路的容量。
r(u,v) = c(u,v) – f(u,v)
通俗地講:就是對於某一條邊(也稱弧),還能再有多少流量經過。
Gf 殘量網路,Ef 表示殘量網路的邊集.

這是上面圖的一個殘量網路。殘量網路(如果網路中一條邊的容量為0,則認為這條邊不在殘量網路中。
r(s,v1)=0,所以就不畫出來了。另外舉個例子:r(v1,s) = c(v1,s) – f(v1,s) = 0 – (-f(s,v1)) = f(s,v1) = 4.
其中像(v1,s)這樣的邊稱為後向弧,它表示從v1到s還可以增加4單位的流量。
但是從v1到s不是和原網路中的弧的方向相反嗎?顯然「從v1到s還可以增加4單位流量」這條信息毫無意義。那麼,有必要建立這些後向弧嗎?
顯然,第1個圖中的畫出來的不是一個最大流。
但是,如果我們把s -> v2 -> v1 -> t這條路徑經過的弧的流量都增加2,就得到了該網路的最大流。
注意到這條路徑經過了一條後向弧:(v2,v1)。
如果不設立後向弧,演算法就不能發現這條路徑。
**從本質上說,後向弧為演算法糾正自己所犯的錯誤提供了可能性,它允許演算法取消先前的錯誤的行為(讓2單位的流從v1流到v2)

注意,後向弧只是概念上的,在程序中後向弧與前向弧並無區別.

**增廣路
增廣路定義:在殘量網路中的一條從s通往t的路徑,其中任意一條弧(u,v),都有r[u,v]>0。

如圖綠色的即為一條增廣路。

看了這么多概念相信大家對增廣路演算法已經有大概的思路了吧。

**增廣路演算法
增廣路演算法:每次用BFS找一條最短的增廣路徑,然後沿著這條路徑修改流量值(實際修改的是殘量網路的邊權)。當沒有增廣路時,演算法停止,此時的流就是最大流。

**增廣路演算法的效率
設n = |V|, m = |E|
每次增廣都是一次BFS,效率為O(m),而在最壞的情況下需要(n-2增廣。(即除源點和匯點外其他點都沒有連通,所有點都只和s與t連通)
所以,總共的時間復雜度為O(m*n),所以在稀疏圖中效率還是比較高的。

❻ ffmpeg怎麼樣處理網路流

#include"utils.h"
#include<pthread.h>
#include<libavcodec/avcodec.h>
#include<libavformat/avformat.h>
UdpQueuerecvqueue;
UdpParamudpParam;
//注冊av_read_frame的回調函數,這里只是最簡處理,實際應用中應加上出錯處理,超時等待...
intread_data(void*opaque,uint8_t*buf,intbuf_size){
intsize=buf_size;
intret;
//printf("readdata%d ",buf_size);
do{
ret=get_queue(&recvqueue,buf,buf_size);
}while(ret);
//printf("readdataOk%d ",buf_size);
returnsize;
}
#defineBUF_SIZE4096*500
intmain(intargc,char**argv){
init_queue(&recvqueue,1024*500);
udpParam.argv=argv;
udpParam.queue=&recvqueue;
uint8_t*buf=av_mallocz(sizeof(uint8_t)*BUF_SIZE);

//UDP接收線程
pthread_tudp_recv_thread;
pthread_create(&udp_recv_thread,NULL,udp_ts_recv,&udpParam);
pthread_detach(udp_recv_thread);

av_register_all();
AVCodec*pVideoCodec,*pAudioCodec;
AVCodecContext*pVideoCodecCtx=NULL;
AVCodecContext*pAudioCodecCtx=NULL;
AVIOContext*pb=NULL;
AVInputFormat*piFmt=NULL;
AVFormatContext*pFmt=NULL;
//step1:申請一個AVIOContext
pb=avio_alloc_context(buf,BUF_SIZE,0,NULL,read_data,NULL,NULL);
if(!pb){
fprintf(stderr,"avioallocfailed! ");
return-1;
}
//step2:探測流格式
if(av_probe_input_buffer(pb,&piFmt,"",NULL,0,0)<0){
fprintf(stderr,"probefailed! ");
return-1;
}else{
fprintf(stdout,"probesuccess! ");
fprintf(stdout,"format:%s[%s] ",piFmt->name,piFmt->long_name);
}
pFmt=avformat_alloc_context();
pFmt->pb=pb;//step3:這一步很關鍵
//step4:打開流
if(avformat_open_input(&pFmt,"",piFmt,NULL)<0){
fprintf(stderr,"avformatopenfailed. ");
return-1;
}else{
fprintf(stdout,"openstreamsuccess! ");
}
//以下就和文件處理一致了
if(av_find_stream_info(pFmt)<0){
fprintf(stderr,"couldnotfinestream. ");
return-1;
}
av_mp_format(pFmt,0,"",0);
intvideoindex=-1;
intaudioindex=-1;
for(inti=0;i<pFmt->nb_streams;i++){
if((pFmt->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO)&&
(videoindex<0)){
videoindex=i;
}
if((pFmt->streams[i]->codec->codec_type==AVMEDIA_TYPE_AUDIO)&&
(audioindex<0)){
audioindex=i;
}
}
if(videoindex<0||audioindex<0){
fprintf(stderr,"videoindex=%d,audioindex=%d ",videoindex,audioindex);
return-1;
}
AVStream*pVst,*pAst;
pVst=pFmt->streams[videoindex];
pAst=pFmt->streams[audioindex];
pVideoCodecCtx=pVst->codec;
pAudioCodecCtx=pAst->codec;
pVideoCodec=avcodec_find_decoder(pVideoCodecCtx->codec_id);
if(!pVideoCodec){
fprintf(stderr,"couldnotfindvideodecoder! ");
return-1;
}
if(avcodec_open(pVideoCodecCtx,pVideoCodec)<0){
fprintf(stderr,"couldnotopenvideocodec! ");
return-1;
}
pAudioCodec=avcodec_find_decoder(pAudioCodecCtx->codec_id);
if(!pAudioCodec){
fprintf(stderr,"couldnotfindaudiodecoder! ");
return-1;
}
if(avcodec_open(pAudioCodecCtx,pAudioCodec)<0){
fprintf(stderr,"couldnotopenaudiocodec! ");
return-1;
}
intgot_picture;
uint8_tsamples[AVCODEC_MAX_AUDIO_FRAME_SIZE*3/2];
AVFrame*pframe=avcodec_alloc_frame();
AVPacketpkt;
av_init_packet(&pkt);
while(1){
if(av_read_frame(pFmt,&pkt)>=0){
if(pkt.stream_index==videoindex){
fprintf(stdout,"pkt.size=%d,pkt.pts=%lld,pkt.data=0x%x.",pkt.size,pkt.pts,(unsignedint)pkt.data);
avcodec_decode_video2(pVideoCodecCtx,pframe,&got_picture,&pkt);
if(got_picture){
fprintf(stdout,"decodeonevideoframe! ");
}
}elseif(pkt.stream_index==audioindex){
intframe_size=AVCODEC_MAX_AUDIO_FRAME_SIZE*3/2;
if(avcodec_decode_audio3(pAudioCodecCtx,(int16_t*)samples,&frame_size,&pkt)>=0){
fprintf(stdout,"decodeoneaudioframe! ");
}
}
av_free_packet(&pkt);
}
}
av_free(buf);
av_free(pframe);
free_queue(&recvqueue);
return0;
}

❼ 手機影音先鋒怎麼打開網路流

網路流(network-flows)是一種類比水流的解決問題方法,與線性規劃密切相關。網路流的理論和應用在不斷發展,出現了具有增益的流、多終端流、多商品流以及網路流的分解與合成等新課題。網路流的應用已遍及通訊、運輸、電力、工程規劃、任務分派、設備更新以及計算機輔助設計等眾多領域。

影音先鋒怎麼用?影音先鋒xfplay怎麼用呢?影音先鋒xfplay的使用方法,小編這就為大家介紹,親自體驗介紹影音先鋒xfplay怎麼用!為你展示影音先鋒xfplay的使用方法,瞬間知曉影音先鋒xfplay怎麼用。

首先下載影音先鋒,你可以在本頁面下面下載影音先鋒,也可以訪問網路首頁,在網路搜索「影音先鋒」,點擊「網路一下」,然後進入影音先鋒的官方網站。

點擊「影音先鋒暈3D版下載」按鈕開始下載影音先鋒。下載完成後,雙擊啟動安裝程序,開始在電腦中安裝影音先鋒,等待程序安裝完成。

安裝完成後啟動影音先鋒,在影音先鋒文件的播放界面右鍵單擊,在出現的右鍵菜單列表中選擇「打開文件」選項,然後在彈出的對話框中,選擇視頻文件,點擊「打開」按鈕開始播放。

除此之外,您還可以打開其他文件類型,比如種子文件,mp3格式的文件,DVD光碟等。影音先鋒還有更多的使用方法等待您去體驗。

有一個方法很實用,就是下載網路電影。打開一個可以使用影音先鋒播放的電影網站,然後打開一個電影播放頁面,

在網頁界面右鍵單擊播放器,然後在出現的右鍵菜單列表中選擇「使用先鋒播放...」選擇,就可以打開電腦中的影音先鋒播放器,使用該軟體下載或播放了。

閱讀全文

與網路流怎麼推相關的資料

熱點內容
筆記本開機網路和internet設置 瀏覽:916
網路歌手柔柔在哪個平台直播 瀏覽:123
公共網路延時特別高怎麼辦 瀏覽:542
日本蘋果4網路設置 瀏覽:725
天童美語網路上課軟體 瀏覽:255
網路合夥人如何找 瀏覽:170
帶無線路由器網路信號弱 瀏覽:385
如何用電話知道對方網路密碼 瀏覽:119
九江公安局網路安全支隊 瀏覽:995
無線網路連接密碼錯誤 瀏覽:429
隨身wifi沒有網路怎麼用 瀏覽:37
如何切換至廣電網路信號 瀏覽:315
網路收款助手在哪裡 瀏覽:301
移動網路設置接哪個位置 瀏覽:21
網路安全宣傳語錄簡短 瀏覽:311
網路上虛擬視頻用哪一個軟體 瀏覽:465
蘋果xsmax網路天線在哪裡 瀏覽:693
移動網路無法使用電信dns解析 瀏覽:664
4g網路如何解析信號 瀏覽:138
移動的網路台式電腦掉線 瀏覽:953

友情鏈接