標籤:
---恢複內容開始---
1,簡單說明
MTP,微軟公司規定的新的傳輸規則(字面本來應該是協議的,但是自己感覺更像是規則,制定了基本上的所有路線,剩下的是你想怎麼選擇罷了,使用者完全沒有可能在它的架構裡面再產生其他的東西)。MTP不但應用在USB(以USB連接埠傳輸資料的裝置)方面,還應用在IP方面。不過主要還是在USB裝置方面。現在很多手機都支援。
2,基本的工作原理
關於MTP的文檔,我會在參考檔案處列出。僅供大家參考。
MTP協議本身,規定了USB裝置的所有資訊,檔案讀取方式,傳輸方式,讀取方式甚至API的命名方式。
簡單的說,所有東西都用特定的數值規定。想要明白數值的意義,就需要查看MTP協議的內容。
剩下的就是通過API進行調用。
稍微用過Linux的,就基本上明白電腦是怎麼讀取檔案的。
基本上我們要讀取檔案,都需要以下幾個要素。
>1,裝置的資訊
>2,裝置的儲存的檔案
>3,檔案的路徑
>4,檔案的屬性(大小,唯讀等等)
>5,查看自身的記憶體大小,進去讀取
就像上述的一樣,我們是主動發起者,我們想幹嘛,都是我們開始發起的,USB就是等個我們的命令。
我們發一個命令,它回複我們想要的東西。這樣就能減少行動裝置的功能性。
(畢竟行動裝置優勢在於小,太多的功能性,在物理上很難有變小的可能。
當然現在為了分擔主裝置的運行,也有一些在裝置本身添加功能。)
MTP協議也是基於上面的想法,使得主機(一般是指電腦)成為發起者,USB端是回應者。
以下【(API)】的地方,是指由相應的API存在
>串連裝置,會進行初始化(API),登入裝置(API),讀取裝置的資訊(API)
>然後在程式意義上開始串連裝置(API),產生一個任務,以後所有的資料交流都是在這個任務有效情況下產生的
>接下來,開始查看裝置的儲存的檔案(API)
>查看路徑(API)
>檔案的屬性(API)
>讀取(API)
幾乎所有的操作都是通過API完成的,而且在讀取的時候都是通過檔案包的方式進行讀取的。
之所以不寫出具體API名稱,是因為這些必須自己去詳讀,這裡只是簡單介紹它。不過大家懂點英文,估計不看具體介紹也能看懂,使用。
基本上會跟以下的名詞打交道。
1,handle。這裡直接可以解釋成“指向”。不管是devicehandle,還是objecthandle,都是指向裝置,或者指向檔案的意思
2,object。檔案,檔案夾
3,get。API中,擷取的意思。getXXXinfo,就是擷取資訊,getXXX就是讀取了。
4,format。這個就需要看文檔了,對應相應的意思。
MTP(Media Transfer Protocol(媒體傳輸協議))簡介