2

Xcode 7.2のSwiftでアプリを構築しています

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()
}

シミュレーターでアプリを実行するとこのビデオを再生できますが、実際のデバイスでは動作しません。ここで何が欠けていますか?

4

4 に答える 4

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()}}

そして、それは動作します!!

ありがとう!

于 2015-12-14T18:47:37.217 に答える
0

使用していたパスはシミュレーターからのものであるため、実際のデバイスでは変更されました。このファイルをプロジェクトに追加した場合、次の方法でこの URL を取得できます。

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!

}
于 2015-12-14T11:10:36.833 に答える