0

AVPlayer のメソッド - (id)initWithURL: で読み込んだ曲を保存したいので、次に再生するときは読み込む必要がありません。Apple のドキュメントを何時間も閲覧しましたが、解決策が見つかりませんでした。

4

2 に答える 2

0

@iKenndacが言ったように、AVPlayerからこれを取り出すことはできません。ファイルを自分でダウンロードしてディスクに保存することはできますが、曲のダウンロードと再生の開始に関してAVPlayerが提供するすべての最適化を失うことになります。確かに、次に曲を再生するときは、すでにディスクに曲があることのメリットを享受できます。そのトレードオフが問題ない場合は、NSURLConnectionでコールバックは次のようになります。

- (void)connection:(NSURLConnection *)connection
    didReceiveData:(NSData *)data 
{
    [responseData appendData:data];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSFileHandle *myHandle = [NSFileHandle fileHandleForUpdatingAtPath:someFilePath];
    [myHandle writeData:responseData];
    [myHandle synchronizeFile];
    [myHandle closeFile];           
}

responseDataをNSMutableDataオブジェクトとして定義し、appendDataを呼び出す前に必ず初期化する必要があります。

于 2012-05-22T17:50:26.460 に答える
0

URL がある場合は、いずれかNSURLConnectionまたは類似のクラスを使用して、URL をローカル ストレージにダウンロードできます。AVPlayerただし、これは自動的に行われません。手動で行う必要があります。

于 2012-05-22T17:23:16.780 に答える