首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVPlayer pathForResource不接电话

AVPlayer pathForResource不接电话
EN

Stack Overflow用户
提问于 2015-11-12 20:21:49
回答 2查看 222关注 0票数 0

我有一个视频背景的欢迎屏幕的应用,但当我运行时,只有一个空白的屏幕出现。

资源部分的包路径的字符串是完全正确的,所以错误不是问题,也不是任何问题。当我在"if path“块上放置一个断点时,尽管它没有被调用。考虑到这一点,did load和"AVKit“和"AVFoundation”都是导入的,并且没有错误。

有什么见解吗?谢谢!

代码语言:javascript
复制
    let moviePath = NSBundle.mainBundle().pathForResource("Ilmatic_Wearables", ofType: "mp4")

    if let path = moviePath {

        let url = NSURL.fileURLWithPath(path)
        let player = AVPlayer(URL: url)
        let playerViewController = AVPlayerViewController()
        playerViewController.player = player
        playerViewController.view.frame = self.view.bounds
        self.view.addSubview(playerViewController.view)
        self.addChildViewController(playerViewController)
        player.play()
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-12 20:33:09

奇怪的是,如果moviePath没有像您所说的那样为零,那么您的代码应该可以工作。检查这条路:

代码语言:javascript
复制
if let moviePath != nil {
       ...
}

更新

检查是否设置了视频文件的Target Membership

票数 1
EN

Stack Overflow用户

发布于 2015-11-12 21:44:38

编辑(11/13/2015) -尝试如下:

右键单击,从项目导航器中删除视频文件,选择“移动到垃圾”。

然后将视频从finder拖回项目导航器。

在选择添加这些文件的选项时:

  • 如果需要,请检查副本项目
  • 检查添加到目标

重建你的项目,看看它现在是否有效!

我已经包含了对我有用的示例代码:

代码语言:javascript
复制
import AVFoundation
import AVKit

class ExampleViewController: UIViewController {
    
    func loadAndPlayFile() {
        
        guard let path = NSBundle.mainBundle().pathForResource("filename", ofType: "mp4") else {
            print("Error: Could not locate video resource")
            return
        }
        
        let url = NSURL(fileURLWithPath: path)
        let moviePlayer = AVPlayer(URL: url)
        let moviePlayerController = AVPlayerViewController()
        moviePlayerController.player = moviePlayer
        
        presentViewController(moviePlayerController, animated: true) {
            moviePlayerController.player?.play()
        }
    }
    
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        loadAndPlayFile()
    }
}

/edit

检查视频文件是否在iTunes中播放。如果它在iTunes中播放,它还应该在iOS模拟器和设备上播放。

如果它不在iTunes中播放,但与、Quicktime等一起工作,则需要重新编码。

iOS支持许多行业标准的视频格式和压缩标准,包括: H.264视频,最高1.5Mbps,640×480像素,每秒30帧,低复杂度版本的H.264基线配置文件,AAC-LC音频高达160 Kbps,48 kHz,立体声.m4v,.mp4,.mov文件格式H.264视频,高达768 Kbps,320乘240像素,每秒30帧,基线配置文件1.3级,AAC-LC音频高达160 Kbps,48 kHz,.m4v,.mp4和.mov文件格式MPEG-4视频,高达2.5 Mbps,640×480像素,每秒30帧,AAC-LC音频高达160 Kbps,48 kHz,立体声.m4v,.mp4和.mov文件格式的立体声,包括音频技术中列出的音频格式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33680599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档