2015-12-14 4 views
2

будет Я строю приложение в Swift на Xcode 7.2iPhone симулятор воспроизводит видео, реальное устройство не

Я добавил видео в моей ViewController. Вот код:

import UIKit 
import AVKit 
import AVFoundation 

class GymViewController: UIViewController { 





var playerViewController = AVPlayerViewController() 
var playerView = AVPlayer() 

let fileFemaleURL = NSURL(fileURLWithPath:"/Users/marienkoen/Documents/AppDevelopment/ROZsport/ROZsport/GymFemale-2434.m4v") 


override func viewDidLoad() { 
super.viewDidLoad() 
} 



@IBAction func playButtonPressed(sender: AnyObject) { 


playerView = AVPlayer(URL: fileFemaleURL) 

playerViewController.player = playerView 

self.presentViewController(playerViewController, animated: true){ 
self.playerViewController.player?.play() 
} 

Я могу воспроизвести это видео при запуске приложения на тренажере, но он не будет работать на реальном устройстве. Что мне здесь не хватает?

ответ

-1

Возможно, проблема в том, что имена файлов чувствительны к регистру на iPhone, но не в симуляторе?

+1

его путь ... кажется, он использует файл на своем компьютере lol – Tj3n

+0

Да, он есть. Он новичок! –

0

Потому что ваш путь, который вы использовали, - это симулятор, на реальном устройстве он изменился. если вы добавили этот файл в ваш проект, вы можете получить этот адрес через:

func getDocumentsURL() -> NSURL { 
    let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] 
    return documentsURL 
} 

func fileInDocumentsDirectory(filename: String) -> String { 

    let fileURL = getDocumentsURL().URLByAppendingPathComponent(filename) 
    return fileURL.path! 

} 
1

я мог читать это неправильно, но, по всей видимости, использует файл, расположенный на вашем компьютере?

+0

Это так. Я поместил его в папку приложения. Думала, этого было достаточно ... –

1

Спасибо за все советы. Я создал эти:

let path = NSBundle.mainBundle().pathForResource("video", ofType:"m4v") 

И назвал их в действие кнопки:

@IBAction func playButtonPressed(sender: AnyObject) { 

playerView = AVPlayer(URL: NSURL(fileURLWithPath: path!)) 
playerViewController.player = playerView 

self.presentViewController(playerViewController, animated: true){ 
self.playerViewController.player?.play()}} 

И это РАБОТАЕТ !!

Спасибо!