2017-04-04 58 views
-5

我正在開發一款適用於iOS Runnign的Swift應用,可以在播放器中播放一些視頻和圖像;iOS Swift,如何爲不同的文件擴展名聲明?

我打電話是爲了喜歡的視頻文件:

videoView.displayMode = GVRWidgetDisplayMode.fullscreen 

和圖像:

imageView.displayMode = GVRWidgetDisplayMode.fullscreen 

我想有一個if語句,等等;

如果正在調用的文件是.png,則通過imageViewer啓動它;

上面添加的代碼是被調用:

如果文件是MP4,通過視頻查看

我在本地調用文件啓動它(

let urlString = "\(postslogin[selectedIndexPath].link)" 

    let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] 
    let fileName = urlString as NSString; 
    let filePath="\(documentsPath)/\(fileName.lastPathComponent)"; 

    let fileURL = NSURL.init(fileURLWithPath: filePath) 
    let request = NSURLRequest.init(url: fileURL as URL) 

被perviously通過下載)來自super.viewDidLoad。

任何建議將超級!

謝謝:) :)

---編輯新建---

到目前爲止,我已經嘗試:

let urlString = "\(postslogin[selectedIndexPath].link)" 

    let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] 

    let fileName = urlString as NSString; 
    let filePath="\(documentsPath)/\(fileName.lastPathComponent)"; 

    let fileURL = NSURL.init(fileURLWithPath: filePath) 

     let request = NSURLRequest.init(url: fileURL as URL) 
    if (fileURL.pathExtension == "jpg") { 

    imageVRView.load(UIImage(named: "\(documentsPath)/\(fileName.lastPathComponent)"), 

        of: GVRPanoramaImageType.mono) 
     imageVRView.displayMode = GVRWidgetDisplayMode.fullscreen 


    } 
     else if (fileURL.pathExtension == "mp4") { 

       videoVRView.displayMode = GVRWidgetDisplayMode.fullscreen 

     videoVRView.load(from: URL((fileURLWithPath: filePath)) 

      ) 
    } 

沒有成功:(:(

+1

你有沒有試過這個?http://stackoverflow.com/a/26707509/6203030 –

+0

我需要它在super.viewDidLoad()而不是像這樣的解決方案嗎? – tibewww

+0

如果您正在下載的文件的名稱具有擴展名,請查找點位置或獲取最後三個字符的子字符串,並使用該子字符串,您應該可以在所需的選項之間切換。 –

回答

1
if (fileURL.pathExtension == "png") { 
    // image 
} else if (fileURL.pathExtension == "mp4") { 
    // video 
} 
+1

謝謝! 當我從服務器調用文件,它的工作原理。 從火力然而,主要的文件正在通話,其中指向該文件的鏈接如下所示: 「https://firebasestorage.googleapis.com/v0/b/mydomain0.appspot.com/o/sindhu_beach.jpg?alt=media&token=006c7014-e456- 485f-902d-924a55ddb005「(在最後顯示令牌和alt),有沒有辦法讓我工作這些文件? THankx很多:) :) – tibewww

+1

在該網址上使用pathExtension返回「jpg?alt = media&token = 006c7014-e456-485f-902d-924a55ddb005%22」。若要查看它是否以「jpg」開頭,請使用fileURL.pathExtension.startsWith(「jpg」) – Cybotaur

+0

謝謝,它似乎事實上你的代碼是wokrign罰款,jsut與我的文件有問題,我更新了我的questin,我有一個imageVRView.load(UIImage(命名爲:「\(documentsPath)/ \(fileName.lastPathComponent)」)的問題, :GVRPanoramaImageType。單聲道) 如果我把它放在if語句中,它被忽略,如果我在末尾添加它,在if和else if語句之後它的罰款,否則我需要它在if語句中。你有什麼想法,我怎麼能做到這一點?感謝您的時間,我會準備好後滾動 – tibewww