转换为base64并下载后MP3无法播放

时间:2017-09-26 01:07:44

标签: c# android json cordova audio

我在播放来自移动设备的录制音频时遇到问题

项目详情: 移动应用程序收集数据,与API协同管理界面

手机(科尔多瓦) - 在设备上记录音频/ mp3文件,并作为base64字符串提交给API

API(C#/。NET) - 以base64字符串数据作为音频接受JSON请求对象 - 转换为字节数组并在Azure Blob存储中存储MP3

当我 DO 通过浏览器data-url播放MP3时,如果我在本地下载文件并尝试使用Windows Media或VLC播放,则该文件将无法播放。< / p>

因此,我不认为我的问题是由于将base64字符串转换为音频......但我要包含一些代码片段供参考......

以下是我用来转换的一些代码片段......但我怀疑移动端发生了什么事情???

当API接受JSON对象时,MP3数据作为base64字符串在requestObject.AudioData属性中传递

// Create the blob client.CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(ConfigurationManager.AppSettings["AzureDirectory"]);
CloudBlockBlob blockBlob = container.GetBlockBlobReference(requestObject.AudioFileName);

//convert Base64 string to ByteArray to send to the Blob storage..
byte[] tbmBytes = Convert.FromBase64String(requestObject.AudioData);
blockBlob.UploadFromByteArray(tbmBytes, 0, tbmBytes.Length);

//all is good...file gets uploaded and can be accessed via Blob Storage in Azure

0 个答案:

没有答案