3

後で再生するために、URL からオーディオをローカルに保存するにはどうすればよいですか。avplayer を使用してオーディオをストリーミングできますが、ローカルに保存して後で再生することはできません。誰でも私を助けることができますか?

これは、ローカルに保存しようとした私のコードです:

ここで、ローカルに保存するための avplayer //コードを使用してオーディオをストリーミングしました

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context

{
    if ([keyPath isEqualToString:@"status"])
    {
        AVPlayerItem * item = (AVPlayerItem *)object;
        if (item.status == AVPlayerItemStatusReadyToPlay)
        {
            NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
            NSString *documentsDirectory = [paths objectAtIndex:0];
            NSString *myPathDocs =  [documentsDirectory stringByAppendingPathComponent: @"audio.m4a"];
            asset=player.currentItem.asset;
            NSURL *url1 = [NSURL fileURLWithPath:myPathDocs];
            // 5 - Create exporter
            AVAssetExportSession *assetEx = [[AVAssetExportSession alloc]  initWithAsset:player.currentItem.asset presetName:AVAssetExportPresetAppleM4A];//tried with  asset2 also
            assetEx.outputURL=[NSURL fileURLWithPath:myPathDocs];
            assetEx.outputFileType = AVFileTypeAppleM4A;
            assetEx.shouldOptimizeForNetworkUse = YES;
            [assetEx exportAsynchronouslyWithCompletionHandler:^{
                int status = assetEx.status;
                dispatch_async(dispatch_get_main_queue(), ^{
                    [self exportDidFinish:assetEx];
                });
            }];


        }
    }
}
but there is no file created in the documents directory.
4

0 に答える 0