我在播放来自移动设备的录制音频时遇到问题
项目详情: 移动应用程序收集数据,与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