【发布时间】:2014-09-09 11:12:34
【问题描述】:
我正在尝试让我的应用播放已下载到文档目录的视频。
我的代码在 iOS 7.1 模拟器上测试时有效,但在 iOS 8.0 设备或 iOS 8.0 模拟器上测试时无效。没有任何错误,AVPlayer 不播放视频并显示黑色视图。
我还使用 XCode 的 Organizer 检查了我设备的 Document 文件夹,文件似乎已成功下载。
这是我的代码的简化版本。
// file_path is a string that stores the path to the video file a println of it shows
// "/var/mobile/Containers/Data/Application/83C7837C-59B5-4767-A579-7CE758A93C6F/Documents/og4gr.mp4"
var path:NSURL = NSURL.fileURLWithPath(file_path, isDirectory: false);
_player = AVPlayer(URL: path);
有没有其他人遇到过这种情况?感谢您的宝贵时间!
【问题讨论】:
-
我希望看到带有
playerWithURL或initWithURL的代码?您在AVPlayer上拨打play吗?你检查过路径是否区分大小写? -
嗨!谢谢你的评论。是的,我使用的是 swift,所以 AVPlayer (URL:path) 相当于目标 c 中的 initWithURL。我不知道我应该如何检查区分大小写。你能详细说明一下吗?
-
iOS 模拟器使用不区分大小写的文件和路径,但设备区分大小写。我知道您提到它不适用于 iOS 8 模拟器,但值得检查。除此之外,您是否检查过包含
error属性的AVPlayerItem_player.currentItem?你能NSLogAVPlayerItem属性并检查它们是否都正确且没有错误。 -
我检查了 _player.currentItem,在 iOS8 中它是 nil 但在 iOS7 中属性显示正确。
<AVPlayerItem: 0x7ada5f10, asset = <AVURLAsset: 0x7ada74a0, URL = file:///Users/Chris/Library/Developer/CoreSimulator/Devices/EBD68AEE-7F40-4635-A4CC-FDD85DEFF627/data/Applications/D700A412-967A-4619-AE73-9EA1131647EF/Documents/og4gr.mp4>> -
file_path来自哪里?您确定file_path内容对于iOS 8 是正确的并且mp4存在于该位置吗?如果您已经检查了所有内容,那么我会提交一个错误。
标签: ios swift ios8 avplayer ios7.1