【问题标题】:AVPlayer - Play from Local URLAVPlayer - 从本地 URL 播放
【发布时间】:2017-01-24 05:45:54
【问题描述】:

令人惊讶的是,尽管进行了多次搜索,但我仍然无法找到答案。

我有一个已缓存的文件,我可以检索缓存目录和我认为是 url 的文件名吗?

这是获取文件然后播放的代码

let cachedFilePath = getCachedFilePath.result as! String
audioFileURL = cachedFilePath
self.audioPlayerItem = AVPlayerItem(url: NSURL(string: audioFileURL!) as! URL)

这就是我打印audioFileURL时返回的内容:

/Users/Genie/Library/Developer/CoreSimulator/Devices/A2FB00CE-B018-4FDF-9635-35FD6678DF8D/data/Containers/Data/Application/E18B5E89-B973-4277-AA5C-1378C69D80CD/Library/Caches/Parse/ PFFileCache/7e4a8fc0eb37b655b859e4959f986da2_The%20Name%20of%20the%20Wind%2017-92.mp3

播放器加载但从不播放,它只是坐在那里旋转。所以我想知道我是否正确地将 url 传递给播放器?

我在一个线程上阅读过在它之前使用file://,但这没有用。

【问题讨论】:

    标签: ios swift avplayer


    【解决方案1】:

    在您创建 NSURL 的地方,您可以将参数名称 string 替换为 fileURLWithPath

    改变

    NSURL(string: audioFileURL!)
    

    NSURL(fileURLWithPath: audioFileURL!)
    

    另外,你为什么要将 NSURL 转换为 URL ?为什么不直接使用URL

    【讨论】:

      【解决方案2】:

      试试这个,希望对你有用。

      self.audioPlayerItem = AVPlayerItem(url:NSURL(fileURLWithPath: audioFileURL!) as! URL)
      

      【讨论】:

        【解决方案3】:
        AVPlayerItem(url:URL(fileURLWithPath: Bundle.main.path(forResource: "filename", ofType: "mp4")!))
        

        并确保将您的视频添加到捆绑包中:

        project root > your Target > Build Phases > Copy Bundle Resources

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-01-19
          • 2018-08-21
          • 2013-07-02
          • 2017-04-27
          • 1970-01-01
          • 2016-10-02
          • 1970-01-01
          相关资源
          最近更新 更多