MS は、ビデオが WP エミュレーターに記録され、分離されたストレージに保存されるいくつかのコード例をリリースしました。この .mp4 ファイルを WP Emulator からエクスポートして、他のアプリケーションで再生する準備はできていますか? それとも、何らかの方法でフォーマットする必要がありますか? もしそうなら、それを行う方法は?
http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone-16-Mango-Camera-API
ビデオ録画のソース コードは WP プロジェクトにあり、CameraUpload と呼ばれます。
https://skydrive.live.com/?cid=bc58fec5c97e307a&sc=documents&id=BC58FEC5C97E307A%21295
http://msdn.microsoft.com/en-us/library/hh394041(v=vs.92).aspx
編集:
WP Emulator で録画したビデオを Azure BLOB にアップロードしようとしています。
ファイルはアップロードされますが、Zune でそのファイルを再生できません。
WP Emulator に記録されたビデオ ファイルを Zune で再生できるようにしたいのですが、これを有効にするにはどうすればよいですか?
ビデオを保存する Azure WCF サービス ロールのメソッドは次のようになります (メソッド パラメーターの名前が少し間違っていてわかりにくい場合がありますが、ご容赦ください)。
bool SaveImage(int salesItemId, string contentType, byte[] photo);
ビデオは、"firstmay" という名前の BLOB コンテナーに保存されます。
ビデオを保存する電話クライアントのコードは次のようになります。
client.SaveImageAsync(77, "mp4", GetPhotoBytes(m_capturedFileName));
public byte[] GetPhotoBytes(string fileName)
{
using (var appStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
IsolatedStorageFileStream isoStream = appStorage.OpenFile(m_capturedFileName, FileMode.Open);
byte[] buffer = new byte[isoStream.Length];
isoStream.Read(buffer, 0, (int)isoStream.Length); isoStream.Close();
return buffer;
}
}
WP クライアント アプリケーションから動画をアップロードする場合、まず動画を録画してから [保存] をクリックしてアップロードします。すべて MainPage で行われます。
クライアントおよびサーバー アプリケーションは、skydrive からダウンロードできます。