/// <summary>
/// 从本地文件存储系统中创建AVFile
/// </summary>
/// <param name="name">文件名</param>
/// <param name="path">e.g:/SD/Camera/AVOSCloud.jpg</param>
/// <returns>AVFile</returns>
public static AVFile CreateFileWithLocalPath(string name, string path)
{
byte[] buffer;
FileStream fileStream;
fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
//#if WINDOWS_PHONE
// IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
// fileStream = myIsolatedStorage.OpenFile(path, FileMode.Open, FileAccess.Read);
//#endif
//#if NetFx45
// fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
//#endif
try
{
int length = (int)fileStream.Length; // get file length
buffer = new byte[length]; // create buffer
int count; // actual number of bytes read
int sum = 0; // total number of bytes read
// read until Read method returns 0 (end of the stream has been reached)
while ((count = fileStream.Read(buffer, sum, length - sum)) > 0)
sum += count; // sum is a buffer offset for next reading
}
finally
{
fileStream.Close();
}
return new AVFile(name, buffer);
}
这个是旧版 SDK 的遗留问题,文档五一之前有更新,会下架这个方法,上面是这个方法的源代码你可以参考一下。