を使用してムービープレーヤーを作成できinitWithContentURL:
、NSUrl引数を渡すことができることを知っています。ここではNSUrlはなく、NSDataしかありません。それを使って映画プレーヤーを作ることはできますか?
4467 次
1 に答える
11
Movieplayer をデータで初期化する方法はありません。
私の提案:データをビデオ ファイルとしてドキュメント ディレクトリに書き込み、その URL を使用してプレーヤーを初期化する必要があります。
オブジェクティブ C
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"MyFile.m4v"];
[data writeToFile:appFile atomically:YES];
動画ファイル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)
注: MPMoviePlayerControllerはiOS 9で非推奨になったため、 AVPlayerViewControllerを使用する必要がある場合があります。
于 2012-11-14T12:25:25.167 に答える