2

私はWindowsPhone8アプリに取り組んでいます。ビデオをカメラロールフォルダに保存する必要があります。

カメラロールフォルダのファイルストリームを取得するには、次の関数を使用しています。

[CLSCompliantAttribute(false)]
public static Task<Stream> OpenStreamForWriteAsync(
    this IStorageFile windowsRuntimeFile
)

例えば:

Stream videoStream = await file.OpenStreamForWriteAsync();

ここで、fileはStorageFileです。

要件があるため、これを削除して関数を同期させたいと思います。

編集:
PS:私はこの関数を別のスレッドで実行していて、そのスレッドを同期させたいと思っています。作成後にそのファイルストリームに書き込みたい。

4

1 に答える 1

7

単にアクセスするResult

Stream videoStream = file.OpenStreamForWriteAsync().Result;

これは、タスクが実行を終了するまでブロックされます。
そのコードがUIスレッドで実行されると、プログラムのデッドロックが発生する可能性があることに注意してください。詳細については、このブログ投稿
を 参照してください。

于 2013-02-05T14:19:34.270 に答える