2

複数のビデオをマージする必要がある 1 つのアプリケーションに取り組んでいます。マージされたビデオをエクスポートするために AVExportSession を使用しています。ビデオをエクスポートするための進行状況バーも表示しています。正常に動作しています。

この問題は、画面をロックするか、アプリケーションをバックグラウンド モードにすると発生します。今回は、エクスポートが進行中の場合、アプリケーションをバックグラウンド モードにした直後に失敗します。バックグラウンドタスクも使用しようとしました。以下のコードを確認してください。

if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]) { 
    if ([[UIDevice currentDevice] isMultitaskingSupported]) { 
        UIApplication *application = [UIApplication sharedApplication]; 
        __block UIBackgroundTaskIdentifier background_task; /
        background_task = [application beginBackgroundTaskWithExpirationHandler: ^ {
            [application endBackgroundTask: background_task]; 
            background_task = UIBackgroundTaskInvalid; 
        }];


        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{


            //START EXPORT SESSION
            [exporter exportAsynchronouslyWithCompletionHandler:^
             {


                 dispatch_async(dispatch_get_main_queue(), ^{


                     [self exportDidFinish:exporter];



                 });

             }];


            NSLog(@"Running in the background!");
            [application endBackgroundTask: background_task]; 
            background_task = UIBackgroundTaskInvalid; 


        });
    }
}

しかし、これはうまくいかないようです。私は何を間違っていますか?どんな助けでも大歓迎です。

バックグラウンドで AVExportSession を実行できることはわかっています。アプリ ストアでこれを実行できるアプリを多数見つけたからです。

前もって感謝します。

4

1 に答える 1