前提・実現したいこと
VisualStudio2017を使ってXamarinアンドロイドアプリの勉強をしています。
写真撮影機能を実装中です。
写真撮影後、ページのイメージ欄に画像を表示しようとしています。
発生している問題・エラーメッセージ
写真撮影のところで固まってしまいます。下の
var file = await CrossMedia.Current.TakePhotoAsync(mediaOptions);の行です。
該当のソースコード
XamarinForm(C#)
1 // カメラが使用可能、かつ写真が撮影可能かを判定する。 2 if (!Plugin.Media.CrossMedia.Current.IsCameraAvailable || !Plugin.Media.CrossMedia.Current.IsTakePhotoSupported) 3 { 4 return; // 不可 5 } 6 // メディアオプション(保存先ディレクトリ、画像ファイル名を設定) 7 var mediaOptions = new Plugin.Media.Abstractions.StoreCameraMediaOptions 8 { 9 Directory = "Photos", // 保存先ディレクトリ 10 Name = $"{DateTime.UtcNow}.jpg" // 保存ファイル名 11 }; 12 // 写真撮影 13 var file = await CrossMedia.Current.TakePhotoAsync(mediaOptions); 14 // キャンセルが押された場合 15 if (file == null) 16 return; 17 // await DisplayAlert("画像ファイルの保存先", file.Path, "OK"); 18 // Image領域に撮影した画像を表示する。 19 image1.Source = ImageSource.FromStream(() => 20 { 21 var stream = file.GetStream(); 22 return stream; 23 });
補足情報(FW/ツールのバージョンなど)
動作確認はエミュレーター
Android_Accelerated_x86_Oreo(Android 8.1-API27)
を使用しています。
カメラは外付けのカメラを使用し、カメラテスト用サイトで認識されています。
回答1件
あなたの回答
tips
プレビュー