成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PhoneGap API介紹:Capture

移動開發
本文將介紹PhoneGap API——Capture使用設備的媒體采集應用程序采集媒體文件,提供對設備音頻、圖像和視頻采集功能的訪問。

對象

方法

范圍

capture對象被分配給navigator.device對象,因此作用域為全局范圍。

簡單的范例

  1. // 全局范圍的capture對象 
  2. var capture = navigator.device.capture; 

屬性

supportedAudioModes:當前設備所支持的音頻錄制格式。(ConfigurationData[] 類型)

supportedImageModes:當前設備所支持的拍攝圖像尺寸及格式。(ConfigurationData[] 類型)

supportedVideoModes:當前設備所支持的拍攝視頻分辨率及格式。(ConfigurationData[] 類型)

方法

capture.captureAudio:啟動設備錄制音頻剪輯的音頻錄制應用程序。

capture.captureImage:啟動設備拍攝照片的攝像頭應用程序。

capture.captureVideo:啟動設備拍攝視頻的視頻錄制應用程序。

支持的平臺

Android

BlackBerry WebWorks (OS 5.0或更高版本)

iOS

capture.captureAudio

啟動錄音機應用程序并返回采集的音頻剪輯文件。

  1. navigator.device.capture.captureAudio(CaptureCB captureSuccess, 
  2. CaptureErrorCB captureError, [CaptureAudioOptions options] ); 

說明

該方法通過設備默認的音頻錄制應用程序開始一個異步操作以采集音頻錄制。該操作允許設備用戶在一個會話中同時采集多個錄音。

當用戶退出音頻錄制應用程序,或系統到達CaptureAudioOptions的limit參數所定義的最大錄制數時都會停止采集操作。如果沒有設置limit參數的值,則使用其默認值1,也就是說當用戶錄制好一個音頻剪輯后采集操作就會終止。

當采集操作結束后,系統會調用CaptureCB回調函數,傳遞一個包含所有采集到的音頻剪輯文件的MediaFile對象數組。如果用戶在完成一個音頻剪輯采集之前終止采集操作,系統會調用CaptureErrorCB回調函數,并傳遞一個包含CaptureError.CAPTURE_NO_MEDIA_FILES錯誤代碼的CaptureError對象。

支持的平臺

Android

BlackBerry WebWorks (OS 5.0或更高版本)

iOS

簡單的范例

  1. // 采集操作成功完成后的回調函數 
  2. var captureSuccess = function(mediaFiles) { 
  3. var i, path, len; 
  4. for (i = 0, len = mediaFiles.length; i < len; i += 1) { 
  5. path = mediaFiles[i].fullPath; 
  6. // 對文件進行感興趣的操作 
  7. }; 
  8. // 采集操作出錯后的回調函數 
  9. var captureError = function(error) { 
  10. navigator.notification.alert('Error code: ' + error.code, null'Capture Error'); 
  11. }; 
  12. // 開始采集音頻 
  13. navigator.device.capture.captureAudio(captureSuccess, captureError, {limit:2}); 

完整的范例

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <title>Capture Audio</title>   
  5.      
  6. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>  
  7. <script type="text/javascript" charset="utf-8" src="json2.js"></script>  
  8. <script type="text/javascript" charset="utf-8">  
  9.  
  10.     // 采集操作成功完成后的回調函數 
  11.     function captureSuccess(mediaFiles) {  
  12.         var i, len;  
  13.         for (i = 0len = mediaFiles.length; i < len; i += 1) { 
  14.             uploadFile(mediaFiles[i]);  
  15.         }  
  16.     }  
  17.      
  18.     // 采集操作出錯后的回調函數 
  19.     function captureError(error) {  
  20.         var msg = 'An error occurred during capture: ' + error.code; 
  21.         navigator.notification.alert(msg, null, 'Uh oh!');  
  22.     }  
  23.      
  24.     // “Capture Audio”按鈕點擊事件觸發函數 
  25.     function captureAudio() {  
  26.      
  27.         // 啟動設備的音頻錄制應用程序,   
  28.         // 允許用戶最多采集2個音頻剪輯 
  29.         navigator.device.capture.captureAudio(captureSuccess, captureError, {limit: 2}); 
  30.     }  
  31.       
  32.     // 上傳文件到服務器  
  33.     function uploadFile(mediaFile) { 
  34.         var ft = new FileTransfer(),  
  35.         path = mediaFile.fullPath,  
  36.         name = mediaFile.name;  
  37.         ft.upload(path, 
  38.                 "http://my.domain.com/upload.php", 
  39.                 function(result) {  
  40.                     console.log('Upload success: ' + result.responseCode);  
  41.                     console.log(result.bytesSent + ' bytes sent');  
  42.                 },  
  43.                 function(error) {  
  44.                     console.log('Error uploading file ' + path + ': ' + error.code);  
  45.                 },  
  46.                 { fileName: name });   
  47.     }   
  48.      
  49. </script> 
  50. </head> 
  51. <body> 
  52.     <button onclick="captureAudio();">Capture Audio</button> 
  53. </body> 
  54. </html> 

BlackBerry WebWorks的特異情況

在BlackBerry WebWorks上,PhoneGap會嘗試啟動RIM提供的Voice Notes Recorder應用程序來采集音頻錄制。如果設備沒有安裝該應用程序,開發者會收到一個CaptureError.CATURE_NOT_SUPPORTED錯誤代碼。

iOS的特異情況

iOS沒有默認的音頻錄制應用程序,因此僅提供一個簡單的用戶界面。

CaptureAudioOptions

封裝音頻采集的配置選項。

屬性

limit:在單個采集操作期間能夠記錄的音頻剪輯數量最大值,必須設定為大于等于1(默認值為1)。

drration:一個音頻剪輯的最長時間,單位為秒。

mode:選定的音頻模式,必須設定為capture.supportedAudioModes枚舉中的值。

簡單的范例

  1. // 限制采集上限為3個媒體文件,每個文件不超過10秒 
  2. var options = { limit: 3, duration: 10 }; 
  3. navigator.device.capture.captureAudio(captureSuccess, captureError, options); 

Android的特異情況

不支持duration參數,無法通過程序限制錄制長度。

不支持mode參數,無法通過程序修改音頻錄制格式。使用自適應多速率(AMR)格式(audio/amr)進行音頻錄制編碼。

BlackBerry WebWorks的特異情況

不支持duration參數,無法通過程序限制錄制長度。

不支持mode參數,無法通過程序修改音頻錄制格式。使用自適應多速率(AMR)格式(audio/amr)進行音頻錄制編碼。

iOS的特異情況

不支持limit參數,每次調用只能創建一個錄制。

不支持mode參數,無法通過程序修改音頻錄制格式。使用波形音頻(WAV)格式(audio/wav)進行音頻錄制編碼。

capture.captureImage

開啟攝像頭應用程序,返回采集到的圖像文件信息。

  1. navigator.device.capture.captureImage( 
  2. CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureImageOptions options] 
  3. ); 

說明

該方法通過設備的攝像頭應用程序開始一個異步操作以采集圖像。該操作允許設備用戶在一個會話中同時采集多個圖像。

當用戶退出攝像頭應用程序,或系統到達CaptureImageOptions的limit參數所定義的最大圖像數時都會停止采集操作。如果沒有設置limit參數的值,則使用其默認值1,也就是說當用戶采集到一個圖像后采集操作就會終止。

當采集操作結束后,系統會調用CaptureCB回調函數,傳遞一個包含每個采集到的圖像文件的MediaFile對象數組。如果用戶在完成一個圖像采集之前終止采集操作,系統會調用CaptureErrorCB回調函數,并傳遞一個包含CaptureError.CAPTURE_NO_MEDIA_FILES錯誤代碼的CaptureError對象。

支持的平臺

Android

BlackBerry WebWorks (OS 5.0或更高版本)

iOS

簡單的范例

  1. // 采集操作成功完成后的回調函數 
  2. var captureSuccess = function(mediaFiles) { 
  3. var i, path, len; 
  4. for (i = 0, len = mediaFiles.length; i < len; i += 1) { 
  5. path = mediaFiles[i].fullPath; 
  6. // 對文件進行感興趣的操作 
  7. }; 
  8. // 采集操作出錯后的回調函數 
  9. var captureError = function(error) { 
  10. navigator.notification.alert('Error code: ' + error.code, null'Capture Error'); 
  11. }; 
  12. // 開始采集圖像 
  13. navigator.device.capture.captureImage(captureSuccess, captureError, {limit:2}); 

完整的范例

 

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head>   
  4. <title>Capture Image</title>  
  5.  
  6. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>  
  7. <script type="text/javascript" charset="utf-8" src="json2.js"></script>  
  8. <script type="text/javascript" charset="utf-8">  
  9.  
  10.     // 采集操作成功完成后的回調函數 
  11.     function captureSuccess(mediaFiles) {  
  12.         var i, len;  
  13.         for (i = 0len = mediaFiles.length; i < len; i += 1) {  
  14.             uploadFile(mediaFiles[i]);  
  15.         }       
  16.     }  
  17.      
  18.     // 采集操作出錯后的回調函數 
  19.     function captureError(error) {  
  20.         var msg = 'An error occurred during capture: ' + error.code;  
  21.         navigator.notification.alert(msg, null, 'Uh oh!');  
  22.     }  
  23.      
  24.     // “Capture Image”按鈕點擊事件觸發函數 
  25.     function captureImage() { 
  26.         // 啟動設備的攝像頭應用程 
  27.         // 允許用戶最多采集2個圖像 
  28.         navigator.device.capture.captureImage(captureSuccess, captureError, {limit: 2}); 
  29.     }  
  30.      
  31.     // 上傳文件到服務器 
  32.     function uploadFile(mediaFile) { 
  33.         var ft = new FileTransfer(), 
  34.             path = mediaFile.fullPath,  
  35.             name = mediaFile.name;  
  36.      
  37.         ft.upload(path,"http://my.domain.com/upload.php",  
  38.             function(result) {  
  39.                 console.log('Upload success: ' + result.responseCode); 
  40.                 console.log(result.bytesSent + ' bytes sent');  
  41.             },  
  42.             function(error) {  
  43.                 console.log('Error uploading file ' + path + ': ' + error.code);  
  44.             },  
  45.             { fileName: name }); 
  46.     }   
  47.  
  48. </script> 
  49. </head> 
  50. <body> 
  51.     <button onclick="captureImage();">Capture Image</button> 
  52. </body> 
  53. </html> 

 

CaptureImageOptions

封裝圖像采集的配置選項。

屬性

limit: 在單個采集操作期間能夠采集的圖像數量最大值,必須設定為大于等于1(默認值為1)。

mode: 選定的圖像模式,必須設定為capture.supportedImageModes枚舉中的值。

簡單的范例

  1. // 最多采集3幅圖像 
  2. var options = { limit: 3 }; 
  3. navigator.device.capture.captureImage(captureSuccess, captureError, options); 

Android的特異情況

不支持mode參數,無法通過程序修改圖像的大小和格式。不過設備用戶可以修改圖像的大小,圖像會以JPEG格式(image/jpeg)存儲。

BlackBerry WebWorks的特異情況

不支持mode參數,無法通過程序修改圖像的大小和格式。不過設備用戶可以修改圖像的大小,圖像會以JPEG格式(image/jpeg)存儲。

iOS的特異情況

不支持limit參數,每調用一次采集一幅圖像。

不支持mode參數,無法通過程序修改圖像的大小和格式。圖像會以JPEG格式(image/jpeg)存儲。

capture.captureVideo

開啟視頻錄制應用程序,返回采集到的視頻剪輯文件信息。

  1. navigator.device.capture.captureVideo( 
  2. CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureVideoOptions options] 
  3. ); 

說明

該方法通過設備的視頻錄制應用程序開始一個異步操作以采集視頻錄制。該操作允許設備用戶在一個會話中同時采集多個視頻錄制。

當用戶退出視頻錄制應用程序,或系統到達CaptureVideoOptions的limit參數所定義的最大錄制數時都會停止采集操作。如果沒有設置limit參數的值,則使用其默認值1,也就是說當用戶錄制到一個視頻剪輯后采集操作就會終止。

當采集操作結束后,系統會調用CaptureCB回調函數,傳遞一個包含每個采集到的視頻剪輯文件的MediaFile對象數組。如果用戶在完成一個視頻剪輯采集之前終止采集操作,系統會調用CaptureErrorCB回調函數,并傳遞一個包含CaptureError.CAPTURE_NO_MEDIA_FILES錯誤代碼的CaptureError對象。

支持的平臺

Android

BlackBerry WebWorks (OS 5.0或更高版本)

iOS

簡單的范例

  1. // 采集操作成功完成后的回調函數 
  2. var captureSuccess = function(mediaFiles) { 
  3. var i, path, len; 
  4. for (i = 0, len = mediaFiles.length; i < len; i += 1) { 
  5. path = mediaFiles[i].fullPath; 
  6. // 對文件進行感興趣的操作 
  7. }; 
  8. // 采集操作出錯后的回調函數 
  9. var captureError = function(error) { 
  10. navigator.notification.alert('Error code: ' + error.code, null'Capture Error'); 
  11. }; 
  12. // 開始采集視頻 
  13. navigator.device.capture.captureVideo(captureSuccess, captureError, {limit:2}); 

完整的范例

 

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <title>Capture Video</title>  
  5.  
  6. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>  
  7. <script type="text/javascript" charset="utf-8" src="json2.js"></script>  
  8. <script type="text/javascript" charset="utf-8">  
  9.  
  10.     // 采集操作成功完成后的回調函數 
  11.     function captureSuccess(mediaFiles) {  
  12.         var i, len;  
  13.         for (i = 0len = mediaFiles.length; i < len; i += 1) {  
  14.             uploadFile(mediaFiles[i]);  
  15.         }         
  16.     }  
  17.  
  18.     // 采集操作出錯后的回調函數  
  19.     function captureError(error) {  
  20.         var msg = 'An error occurred during capture: ' + error.code;  
  21.         navigator.notification.alert(msg, null, 'Uh oh!');  
  22.     }  
  23.   
  24.     // “Capture Video”按鈕點擊事件觸發函數 
  25.     function captureVideo() {   
  26.         // 啟動設備的視頻錄制應用程序, 
  27.         // 允許用戶最多采集2個視頻剪輯  
  28.         navigator.device.capture.captureVideo(captureSuccess, captureError, {limit: 2});  
  29.     }  
  30.  
  31.     // 上傳文件到服務器 
  32.     function uploadFile(mediaFile) {  
  33.         var ft = new FileTransfer(),  
  34.             path = mediaFile.fullPath,  
  35.             name = mediaFile.name;  
  36.  
  37.         ft.upload(path,"http://my.domain.com/upload.php",  
  38.             function(result) {  
  39.                 console.log('Upload success: ' + result.responseCode);  
  40.                 console.log(result.bytesSent + ' bytes sent');  
  41.             },  
  42.             function(error) {  
  43.                 console.log('Error uploading file ' + path + ': ' + error.code);  
  44.             },  
  45.             { fileName: name });     
  46.     }   
  47.  
  48. </script> 
  49. </head> 
  50. <body> 
  51.     <button onclick="captureVideo();">Capture Video</button> 
  52. </body> 
  53. </html> 

 

BlackBerry WebWorks 的特異情況

在BlackBerry WebWorks上,PhoneGap會嘗試啟動RIM提供的Video Recorder應用程序來采集視頻錄制。如果設備沒有安裝該應用程序,開發者會收到一個CaptureError.CATURE_NOT_SUPPORTED錯誤代碼。

CaptureVideoOptions

封裝視頻采集的配置選項。

屬性

limit:在單個采集操作期間能夠采集的視頻剪輯數量最大值,必須設定為大于等于1(默認值為1)。

drration: 一個視頻剪輯的最長時間,單位為秒。

mode: 選定的視頻采集模式,必須設定為capture.supportedVideoModes枚舉中的值。

簡單的范例

  1. // 最多采集3個視頻剪輯 
  2. var options = { limit: 3 }; 
  3. navigator.device.capture.captureVideo(captureSuccess, captureError, options); 

Android的特異情況

不支持duration參數,無法通過程序限制錄制長度。

不支持mode參數,無法通過程序修改視頻的大小和格式。不過,設備用戶可以修改這些參數,默認情況下視頻會以3GPP格式(video/3gpp)存儲。

BlackBerry WebWorks的特異情況

不支持duration參數,無法通過程序限制錄制長度。

不支持mode參數,無法通過程序修改視頻的大小和格式。不過,設備用戶可以修改這些參數,默認情況下視頻會以3GPP(video/3gpp)格式存儲。

iOS的特異情況

不支持limit參數,每調用一次采集一個視頻。

不支持duration參數,無法通過程序限制錄制長度。

不支持mode參數,無法通過程序修改視頻的大小和格式。默認情況下視頻會以MOV(video/3gpp)格式存儲。

CaptureCB

媒體采集成功后調用的回調函數。

  1. function captureSuccess( MediaFile[] mediaFiles ) { ... } 

說明

當完成一個成功的采集操作后會調用該函數。這意味著已經采集到一個媒體文件,同時要么用戶已經退出媒體采集應用程序,要么已經到達采集數量上限。

每個MediaFile對象都指向一個采集到的媒體文件。

簡單的范例

  1. // 采集操作成功完成后的回調函數 
  2. function captureSuccess(mediaFiles) { 
  3. var i, path, len; 
  4. for (i = 0, len = mediaFiles.length; i < len; i += 1) { 
  5. path = mediaFiles[i].fullPath; 
  6. //對文件進行感興趣的操作 

CaptureErrorCB

媒體采集操作發生錯誤后調用的回調函數。

  1. function captureError( CaptureError error ) { ... } 

說明

出現以下情況會調用該函數:試圖在采集應用程序繁忙時啟動媒體采集操作而引起錯誤、采集操作正在工作時出現錯誤、用戶在沒有任何媒體文件采集完成前取消采集操作。

該函數調用時會傳遞一個包含相應錯誤代碼的CaptureError對象。

簡單的范例

  1. // 采集操作出錯后的回調函數 
  2. var captureError = function(error) { 
  3. navigator.notification.alert('Error code: ' + error.code, null'Capture Error'); 

ConfigurationData

封裝設備支持的媒體采集參數集。

說明

該對象用于描述設備所支持的媒體采集模式,配置數據包括MIME類型和采集尺寸(適用于視頻和圖像采集)。

MIME類型應該符合RFC2046規范,例如:

video/3gpp

video/quicktime

image/jpeg

audio/amr

audio/wav

屬性

type:用小寫ASCII編碼字符串表示的媒體類型。(DOMString格式)

height: 用像素表示的圖像或視頻高度,音頻剪輯為0。(數字類型)

width: 用像素表示的圖像或視頻寬度,音頻剪輯為0。(數字類型)

簡單的范例

  1. // 獲得支持的圖像模式 
  2. var imageModes = navigator.device.capture.supportedImageModes; 
  3. // 選擇最高水平分辨率的模式 
  4. var width = 0; 
  5. var selectedmode; 
  6. foreach (var mode in imageModes) { 
  7. if (mode.width > width) { 
  8. width = mode.width; 
  9. selectedmode = mode; 

沒有任何一個平臺支持,所有配置數據數組都為空。

MediaFile

封裝采集到的媒體文件的屬性。

屬性

name:不含路徑信息的文件名。(DOMString類型)

fullPath: 包含文件名的文件全路徑。(DOMString類型)

type: MIME類型。(DOMString類型)

lastModifiesDate:文件最后修改的日期和時間。(日期類型)

size:以字節數表示的文件大小。(數字類型)

方法

MediaFile.getFormatData: 獲取媒體文件的格式信息

MediaFile.getFormatData

獲取采集到的媒體文件的格式信息。

  1. mediaFile.getFormatData( 
  2. MediaFileDataSuccessCB successCallback, 
  3. [MediaFileDataErrorCB errorCallback] 

說明

該方法通過異步方式嘗試獲取媒體文件的格式信息。獲取成功的情況下該方法會調用MediaFileDataSuccessCB回調并傳遞一個MediaFileData對象,嘗試失敗的情況下該方法會調用MediaFileDataErrorCB回調。

支持的平臺

Android

BlackBerry WebWorks (OS 5.0或更高版本)

iOS

BlackBerry WebWorks的特異情況

沒有提供媒體文件格式信息的API,因此,所有MediaFileData對象都會返回默認值。參考MediaFileData文檔。

Android的特異情況

獲取媒體文件格式信息的API受到限制,因此,不是所有的MediaFileData屬性都支持。參考MediaFileData文檔。

iOS的特異情況

獲取媒體文件格式信息的API受到限制,因此,不是所有的MediaFileData屬性都支持。參考MediaFileData文檔。

MediaFileData

封裝媒體文件的格式信息。

屬性

codecs: 音頻及視頻內容的實際格式。(DOMString類型)

bitrate:文件內容的平均比特率。對于圖像文件,屬性值為0。(數字類型)

height: 用像素表示的圖像或視頻高度,音頻剪輯的該屬性值為0。(數字類型)

width: 用像素表示的圖像或視頻的寬度,音頻剪輯的該屬性值為0。(數字類型)

duration: 以秒為單位的視頻或音頻剪輯時長,圖像文件的該屬性值為0。(數字類型)

BlackBerry WebWorks的特異情況

沒有提供媒體文件格式信息的API,因此MediaFile.getFormatData方法返回的MediaFileData對象包含以下默認值:

codecs: 不支持,該屬性始終為空。

bitrate:不支持,該屬性始終為0。

heigh: 不支持,該屬性始終為0。

width: 不支持,該屬性始終為0。

duration: 不支持,該屬性始終為0。

Android的特異情況

MediaFileData屬性的支持情況如下:

codecs:不支持,該屬性始終為空。

bitrate:不支持,該屬性始終為0。

height:支持(僅限圖像或視頻文件)。

width:支持(僅限圖像或視頻文件)。

duration:支持(僅限音頻或視頻文件)。

iOS的特異情況

MediaFileData屬性的支持情況如下:

codecs:不支持,該屬性始終為空。

bitrate:iOS4設備上僅支持音頻,對于圖像和視頻此屬性值為0。

height:支持(僅限圖像或視頻文件)。

width:支持(僅限圖像或視頻文件)。

duration: 支持(僅限音頻或視頻文件)。

責任編輯:佚名 來源: PhoneGap中國
相關推薦

2011-09-13 16:08:58

PhoneGap AP

2011-12-19 15:30:25

AccelerometPhoneGap AP

2011-12-20 13:32:52

PhoneGap APContacts

2011-12-20 16:09:57

PhoneGap APDevice

2011-12-21 21:56:45

PhoneGap APFile

2011-12-22 09:54:40

PhoneGap APMedia

2011-12-22 10:33:39

PhoneGap APNotificatio

2011-12-22 10:45:32

PhoneGap APStorage

2011-12-20 15:34:55

PhoneGap APConnection

2011-12-22 09:27:36

PhoneGap APGeolocation

2011-12-20 17:15:52

PhoneGap APEvents

2011-12-20 11:20:46

PhoneGap APCompass

2011-12-19 16:09:32

PhoneGap APCamera

2011-12-30 14:05:17

PhoneGap APConnection視頻

2011-12-30 14:13:05

PhoneGap APCamera視頻

2011-12-30 14:16:02

AccelerometPhoneGap AP視頻

2011-12-30 13:59:38

PhoneGap APDevice視頻

2011-12-30 13:47:57

PhoneGap AP視頻Contacts

2011-12-30 14:09:32

PhoneGap APCompass視頻

2011-07-05 17:29:53

PhoneGapevents
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人3d动漫一区二区三区91 | 九九福利 | 精品亚洲一区二区 | 亚洲天堂精品久久 | 久久国产精品72免费观看 | 欧美另类视频在线 | 97超碰免费 | 久久精品中文字幕 | 做a网站| 国产精品久久影院 | 99九九久久 | 欧美成人第一页 | 殴美成人在线视频 | 亚洲色欧美另类 | 国产精品视频一 | 一区二区在线免费观看 | 91精品国产91久久综合桃花 | 中文字幕乱码亚洲精品一区 | 亚洲va欧美va天堂v国产综合 | 日韩在线免费视频 | 成人性视频免费网站 | 午夜免费福利电影 | 91精品国产欧美一区二区 | 岛国毛片在线观看 | 91精品国产综合久久久密闭 | 亚洲国产精品一区二区第一页 | 一级在线观看 | 免费污视频 | 国产激情视频网 | 成人欧美日韩一区二区三区 | 欧美一二三四成人免费视频 | 亚洲精品免费观看 | 国产91丝袜在线播放 | 日韩成人 | 久久久性色精品国产免费观看 | 成人午夜黄色 | 爱操影视| 日韩精品久久久久 | 亚洲女人天堂网 | 久久精品国产亚洲 | 91一区二区三区 |