我们可以在ios中使用nsdata创建电影播放器吗?

我们可以在ios中使用nsdata创建电影播放器吗?,ios,video,nsdata,mpmovieplayer,Ios,Video,Nsdata,Mpmovieplayer,我知道我们可以使用initWithContentURL:创建电影播放器,并且可以传递NSUrl参数。这里我没有NSUrl,我只有NSData。通过使用它,我可以创建电影播放器吗 没有使用数据初始化电影播放器的方法 我的建议:您需要将数据作为视频文件写入文档目录,然后使用该url初始化播放器 目标C 这里data是视频文件的NSData 您现在可以使用appFile变量初始化您的电影播放器 NSURL *movieUrl = [NSURL fileURLWithPath:appFile]; MPM

我知道我们可以使用
initWithContentURL:
创建电影播放器,并且可以传递NSUrl参数。这里我没有NSUrl,我只有NSData。通过使用它,我可以创建电影播放器吗

没有使用数据初始化电影播放器的方法

我的建议:您需要将数据作为视频文件写入文档目录,然后使用该url初始化播放器

目标C 这里
data
是视频文件的
NSData

您现在可以使用
appFile
变量初始化您的电影播放器

NSURL *movieUrl = [NSURL fileURLWithPath:appFile];
MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController] alloc] initWithContentURL:movieUrl];
敏捷的 保存文件:

let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
if let docDir = paths.first
{
    let appFile  = docDir.appending("/MyFile.m4v")
    let movieUrl = URL(fileURLWithPath: appFile)

    do
    {
        try data.write(to: movieUrl, options: .atomic)
    }
    catch let error as NSError
    {
        print(error.localizedDescription)
    }
}
初始化电影播放器:

let moviePlayer = MPMoviePlayerController(contentURL: movieUrl)
注意:
在iOS 9中已弃用,因此您可能需要使用

您想使用NSData创建“电影播放器”吗?你的问题是关于创建一个播放器、一部电影、查找数据吗?@Abizern他在问如何从NSData对象创建一个NSURL(本地文件)。为什么他有
NSData
对象不是我们关心的问题。普拉萨德G:还有问题吗?@Ryanromachuk:查看上面OP的评论,这对他有效。那么你怎么能说这不是答案呢,OP已经被接受了。如果您还有其他答案,请发布。@MidhunMP抱歉没有看到
[数据写入文件:应用文件原子性:是]
SO上的每个人都用“不要那样做”来回答这个问题,will upvote:)@MidhunMP,这是正确的答案,但是,它不能是通用的(特别是加密文件)。此代码的swift版本会是什么样子?
let moviePlayer = MPMoviePlayerController(contentURL: movieUrl)