我一直在努力解决这个问题。我已经设法使用Xamarin& amp;创建了一个应用程序。 C#(适用于android)。该应用程序成功将录音发送到我的Parse文件夹(https://parse.com/)。从解析网站的仪表板上,我可以下载声音文件并成功播放。
我需要能够从应用程序中下载和播放声音。 到目前为止,我可以检索包含parseFile的parseObject,该parseFile包含以字节为单位的声音。我不知道如何进入parseObject并提取文件。
以下是我发送数据的方式:
byte[] data = File.ReadAllBytes(LoadPath);
ParseFile file = new ParseFile(savetheFile, data);
await file.SaveAsync();
var auidoParseObject = new ParseObject("AudioWithData");
//Console.WriteLine(ParseUser.getUserName());
if (ParseUser.CurrentUser != null)
{
tempUserName = ParseUser.CurrentUser.Username.ToString();
}
else
{
tempUserName = "Anonymous";
}
Console.WriteLine("PARSE USERNAME: " + tempUserName);
auidoParseObject["userName"] = tempUserName;
auidoParseObject["file"] = file;
await auidoParseObject.SaveAsync();
这是我尝试从解析云中检索它:
var query1 = ParseObject.GetQuery ("AudioWithData")
.WhereEqualTo ("userName", username);
IEnumerable<ParseObject> results1 = await query1.FindAsync();
Console.WriteLine ("At 0:" + results1.ElementAt (0).ToString ());
Console.WriteLine("At 1:" + results1.ElementAt (1).ToString());
Console.WriteLine("At 2:" + results1.ElementAt (2).ToString());
这里,控制台会写: 在0:Parse.ParseObject 1:Parse.ParseObject 在2:Parse.ParseObject
我现在需要提取该parseObject的“文件”部分......但是如何!?
任何帮助都会非常感激, 谢谢!
答案 0 :(得分:0)
var file = results1[0].Get<ParseFile>("file");
byte[] data = await new HttpClient().GetByteArrayAsync(file.Url);
答案 1 :(得分:0)
你可以使用下面的代码来解析你的文件,我使用了这段代码并且对我很好。
public static Task<IEnumerable<YourModel>> GetFiles(UserName userName)
{
return new ParseQuery<YourModel> ()
.Where (x => x.userName == userName)
.FindAsync();
}