動画撮影アプリを作っています。ビデオは記録され、隔離されたストレージに保存されますが、ユーザーが自分のビデオを電話から転送できるようにしたい...ビデオを電話の「音楽+ビデオ」セクションに転送するか、他の方法で転送する可能性があります。
分離ストレージ ビデオ コード:
// File details for storing the recording.
private IsolatedStorageFileStream isoVideoFile;
private void StartVideoRecording()
{
try
{
videos = null;
isoVideoFileName = string.Format(dateTime.Day.ToString() + dateTime.Month.ToString() + dateTime.Year.ToString() + "_" + dateTime.Hour.ToString() + dateTime.Minute.ToString() + dateTime.Second.ToString()+".mp4");
//SAVE TO LOCAL MEMORY............
videos.Add(isoVideoFileName.ToString());
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
if (settings.Contains("Storage"))
{
List<string> vids = new List<string>();
List<string> vids1 = new List<string>();
vids.AddRange(IsolatedStorageSettings.ApplicationSettings["Storage"] as List<string>);
videos.AddRange(vids);
settings["Storage"] = videos;
settings.Save();
}
else
{
settings["Storage"] = videos;
settings.Save();
}
//.......................................
if (captureSource.VideoCaptureDevice != null
&& captureSource.State == CaptureState.Started)
{
captureSource.Stop();
fileSink.CaptureSource = captureSource;
fileSink.IsolatedStorageFileName = isoVideoFileName;
}
// Begin recording.
if (captureSource.VideoCaptureDevice != null
&& captureSource.State == CaptureState.Stopped)
{
captureSource.Start();
}
disp.Text = "DashCam - Recording...";
status = "recording";
}
catch (Exception e)
{
//this.Dispatcher.BeginInvoke(delegate()
//{
// MessageBox.Show(e.ToString());
//
//});
}
}
更新 1
この問題に取り組んでいるときに、ビデオをカメラロールに転送できるようにするドキュメントで提供されている ID_CAP_MEDIALIB_VIDEO を見つけました。ただし、マニフェストが欠落しているため、これを可能にする他の方法はありますか?