2017-04-04 8 views
-5

私はSwiftでIOS用アプリケーションを開発して、プレーヤーでビデオや画像を再生しています。iOS Swift、異なるファイル拡張子のステートメントを実行する方法

私のような映像のためのファイル呼んでいる:

videoView.displayMode = GVRWidgetDisplayMode.fullscreen 

や画像のため:

imageView.displayMode = GVRWidgetDisplayMode.fullscreen 

私は以下のように、if文を持っているしたいのですが。

呼び出し中のファイルが.pngの場合、imageViewerを使用して起動します。

ファイルはMP4であれば、videoviewer経由

を、それを起動し、私は(perviously経由でダウンロードさ:

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) 

)ローカルファイルを呼んでいる上記のコードは追加

コールされていますsuper.viewDidLoadから取得します。

どのような提案もすばらしいでしょう!

感謝:) :)

は--- EDIT NEW ---

これまでのところ、私は試してきました:成功せず

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

ダウンロードしているファイルの名前に拡張子が付いている場合は、ポイント位置を探したり、最後の3文字の部分文字列を取得して、その部分文字列を使用して希望するオプションを切り替えることができます。 –

答えて

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

ありがとう! を何をすべきそれが動作します。 しかし、主にファイルがfirebaseからコールされ、ファイルへのリンクは次のとおりです: "https://firebasestorage.googleapis.com/v0/b/mydomain0.appspot.com/o/sindhu_beach.jpg?alt=media&token=006c7014-e456- 485f-902d-924a55ddb005 "(トークンとaltを最後に表示しています)、これらのファイルを処理する方法はありますか? THankx a lot :) :) – tibewww

+1

そのURLにpathExtensionを使用すると、 "jpg?alt = media&token = 006c7014-e456-485f-902d-924a55ddb005%22"が返されます。 "jpg"で始まるかどうかを確認するには、fileURL.pathExtension.startsWith( "jpg") – Cybotaur

+0

を使用していただきありがとうございます。実際にあなたのコードは問題なく、ファイルに問題があります。 imageVRView.load(UIImage( "\(documentsPathPath)/ \(fileName.lastPathComponent)"という名前)の問題)、 の:GVRPanoramaImageType。モノ) 私はifステートメントに入れて、無視されて、私は最後に、ifとelse ifステートメントの後にそれを追加します。そうでなければ、私はifステートメントでそれを必要とします..どのように私はこれを達成することができますか考えていますか?あなたのお時間をありがとう、私はその後にロールバックする準備が整います – tibewww

関連する問題